pydoc和help()之间的区别?

时间:2011-07-05 16:11:15

标签: python pydoc

这两件事有什么不同吗?两者在Python中给出的结果是相似的。

3 个答案:

答案 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具有更多的选项和功能