python"help"功能:打印docstrings

mat*_*ick 15 python docstring

是否有打印输出帮助('myfun')的选项.我看到的行为是输出打印到std.out并且脚本等待用户输入(即输入'q'继续).

必须有一个设置来设置它只是转储文档字符串.

或者,如果我可以转储文档字符串PLUS"def f(args):"行也可以.

搜索"python帮助功能"是滑稽的.:)也许我错过了一些不错的pydoc页面那里解释了一切?

kin*_*all 17

要获得打印help(str)到变量中的帮助strhelp:

import pydoc
strhelp = pydoc.render_doc(str, "Help on %s")
Run Code Online (Sandbox Code Playgroud)

当然,您可以轻松打印它而无需分页等.


Jür*_*bel 7

如果您想从代码访问原始文档字符串:

   myvar = obj.__doc__
   print(obj.__doc__)
Run Code Online (Sandbox Code Playgroud)

帮助函数做了一些额外的处理,接受的答案显示了如何使用 pydoc.render_doc() 复制它。


cwa*_*ole 5

您已经看到了对文档字符串的引用,__doc__这是保存帮助正文的魔法变量:

def foo(a,b,c): 
   ''' DOES NOTHING!!!! '''
   pass

print foo.__doc__ # DOES NOTHING!!!!
Run Code Online (Sandbox Code Playgroud)

要获取函数的名称,只需使用__name__

def foo(a,b,c): pass

print foo.__name__ # foo
Run Code Online (Sandbox Code Playgroud)

获取非内置函数签名的方法可以使用 func_code 属性,从中可以读取其 co_varnames:

def foo(a,b,c): pass
print foo.func_code.co_varnames # ('a', 'b', 'c')
Run Code Online (Sandbox Code Playgroud)

我还没有找到如何对内置函数做同样的事情。