这两件事有什么不同吗?两者在Python中给出的结果是相似的。
答案 0 :(得分:3)
help()
是一个Python函数。
pydoc
是同一事物的命令行界面。
如果您想了解更多pydoc的作用,请查看pydoc.py(import pydoc; pydoc.__file__
)并查看cli
函数中的内容。它确实做了一些额外的导入魔术,但我认为它确实不需要 - help()
接受以相同方式计算的字符串,所以如果你有“foo.py”,请运行{{ 1}}并且python
它会得到与help('foo')
几乎相同的结果,我认为只是在布局方面存在细微差别。可能是历史原因。
简而言之,import foo; help(foo)
约等于pydoc foo
答案 1 :(得分:2)
交互式help
函数只导入pydoc。来自消息来源:
class _Helper(object):
"""Define the builtin 'help'.
This is a wrapper around pydoc.help (with a twist).
"""
def __repr__(self):
return "Type help() for interactive help, " \
"or help(object) for help about object."
def __call__(self, *args, **kwds):
import pydoc
return pydoc.help(*args, **kwds)
请注意__call__
定义。
您可以使用help(help)
; - )
您可以使用inspect
模块在您下次好奇时自行查看来源。
如果您想自行调查,以下内容将返回为对象定义的模块的源代码定义:
inspect.getsource(inspect.getmodule(help))
答案 2 :(得分:0)
简而言之,我认为pydocs
可以解释为 Tesla,Inc。。help
只是tesla的产品,就像 Tesla Model S
如果有人进入help
功能代码,则很明显地提到帮助正在使用pydocs.help
"""
Define the built-in 'help'.
This is a wrapper around pydoc.help (with a twist).
"""
与pydocs
相比, help
具有更多的选项和功能