1

这两件事有区别吗?两者在 Python 中给出的结果是相似的。

4

3 回答 3

3

help()是一个 Python 函数。

pydoc是同一事物的命令行界面。

如果您想了解更多 pydoc 的功能,请查看 pydoc.py ( import pydoc; pydoc.__file__) 并查看cli函数中的内容。它确实做了一些额外的导入魔法,但我不认为它真的需要 -help()接受一个以相同方式评估的字符串,所以如果你有“foo.py”,运行pythonhelp('foo')会得到我认为与结果大致相同import foo; help(foo),只是布局略有不同。可能有历史原因。

简而言之,pydoc foo大约等于python -c "help('foo')"

于 2011-07-05T16:19:15.960 回答
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))
于 2012-01-19T10:20:45.107 回答
0

简单来说我觉得pydocs可以解释为Tesla, Inc.,和Tesla Model Shelp一样只是特斯拉的产品

如果进入help功能代码,则会清楚地提到帮助正在使用pydocs.help

"""
Define the built-in 'help'.
    This is a wrapper around pydoc.help (with a twist).
"""

pydocshelp

于 2018-08-26T10:20:30.360 回答