6

可能重复:
python help('string') 与 help(list) 不一致?

在 Python 的交互式 shell 中,如果我键入,help(42)我将获得有关 int 对象的所有信息。如果我输入help(""),我什么也得不到,如果我输入help("x"),我会得到“没有找到'x'的 Python 文档”。

我知道我可以打字help(str),但我想了解为什么其他两个工作方式不同help(42)

4

2 回答 2

9

请参阅有关帮助功能的文档

如果没有给出参数,交互式帮助系统将在解释器控制台上启动。如果参数是字符串,则将该字符串作为模块、函数、类、方法、关键字或文档主题的名称进行查找,并在控制台上打印帮助页面。如果参数是任何其他类型的对象,则会生成有关该对象的帮助页面。

换句话说,当help给定一个类或类型时,它会返回该类或类型的帮助。

class C: pass
help(C)

help给出除字符串以外的任何实例时,例如help(1),它提供关于该变量类型(intfloat或定义的类)的文档。

help(1)
help(C())

当给定一个字符串时,它会提供有关该字符串所引用的类型或类的文档。如果您需要str课程本身的帮助,您可以执行以下操作:

help(str)

或者

help("str")
于 2012-10-26T15:04:34.393 回答
3

Python 文档

帮助([对象])

调用内置帮助系统。(此函数用于交互式使用。)如果没有给出参数,交互式帮助系统将在解释器控制台上启动。如果参数是字符串,则将该字符串作为模块、函数、类、方法、关键字或文档主题的名称进行查找,并在控制台上打印帮助页面。如果参数是任何其他类型的对象,则会生成有关该对象的帮助页面。

因此,只有当参数help()是字符串时,行为才会有所不同。

于 2012-10-26T15:06:11.527 回答