可能重复:
Inconsistency in python help(‘string’) versus help(list)?
在Python的交互式shell中,如果我输入help(42)
,我将获得有关int对象的所有信息。如果我输入help("")
,我什么也得不到,如果我输入help("x")
,我会“找不到'x'的Python文档。”
我知道我可以输入help(str)
,但我想了解为什么其他两个与help(42)
的工作方式不同?
答案 0 :(得分:9)
请参阅the documentation on the help function:
如果没有给出参数,则交互式帮助系统在解释器控制台上启动。如果参数是字符串,则查找字符串作为模块,函数,类,方法,关键字或文档主题的名称,并在控制台上打印帮助页面。如果参数是任何其他类型的对象,则会生成对象的帮助页面。
换句话说,当help
被赋予类或类型时,它会返回该类或类型的帮助。
class C: pass
help(C)
当help
给出除字符串以外的任何实例时,例如help(1)
,它会提供有关该变量类型的文档(int
,float
或已定义的文档类)。
help(1)
help(C())
当给它一个字符串时,它提供有关该字符串引用的类型或类的文档。如果您需要str
类本身的帮助,可以执行以下操作:
help(str)
或
help("str")
答案 1 :(得分:3)
帮助([对象])
调用内置帮助系统。 (此功能适用于 交互式使用。)如果没有给出参数,则为交互式帮助系统 从解释器控制台开始。如果参数是一个字符串,那么 查找字符串作为模块,函数,类的名称, 方法,关键字或文档主题,并打印帮助页面 控制台。如果参数是任何其他类型的对象,则为帮助页面 在该对象上生成。
因此,只有当help()
的参数是字符串时,行为才会有所不同。