为什么帮助(42)有效,但既没有帮助("")也没有帮助("x")?

sza*_*gab 6 python python-2.7

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

在Python的交互式shell中,如果我输入,help(42)我将获得有关int对象的所有信息.如果我输入,help("")我什么也得不到,如果我打字help("x") I get "no Python documentation found for 'x'".

我知道我可以输入help(str),但我想了解为什么其他两个有不同的用途help(42)

Dav*_*son 9

请参阅帮助功能的文档:

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

换句话说,当help给出类或类型时,它返回该类或类型的帮助.

class C: pass
help(C)
Run Code Online (Sandbox Code Playgroud)

help被给予其他任何实例不是字符串,如help(1),它提供了有关变量(的类型的文档int,float或者定义的类).

help(1)
help(C())
Run Code Online (Sandbox Code Playgroud)

当给它一个字符串时,它提供有关该字符串引用的类型或类的文档.如果您需要有关str课程本身的帮助,您可以:

help(str)
Run Code Online (Sandbox Code Playgroud)

要么

help("str")
Run Code Online (Sandbox Code Playgroud)