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