【问题标题】:Getting the docstring from a function从函数中获取文档字符串
【发布时间】:2010-10-17 07:43:32
【问题描述】:

我有以下功能:

def my_func():
    """My docstring is both funny and informative"""
    pass

如何访问文档字符串?

【问题讨论】:

  • 请注意,使用 -OO 运行 Python 会去除文档字符串。如果您打算将代码分发给其他人,请记住他们可能会以这种方式运行它。如果你的代码依赖于 docstrings,那会让那些人真的很不高兴,但没有抓住它们不存在的情况。

标签: python


【解决方案1】:

交互方式,你可以用

help(my_func)

或者你可以从代码中检索它

my_func.__doc__

【讨论】:

  • 顺便说一句:这种技术适用于内置函数以及模块和类(也可以使用对象测试 help() - 也可能有效)。这使您的 python shell 成为交互式帮助 shell!
  • 在 ipython 提示符下,你可以做 my_func??它也会显示文档字符串。
  • help(func) 提供可读输出,而 func.__doc__ 提供内联输出。感谢您的回答。
【解决方案2】:

您也可以使用inspect.getdoc。它通过将制表符标准化为空格并左移文档正文以删除常见的前导空格来清理__doc__

【讨论】:

    【解决方案3】:

    在 ipython 或 jupyter notebook 上,你可以使用上面提到的所有方法,但我选择了

    my_func?
    

    ?my_func
    

    快速总结方法签名和文档字符串。

    我避免使用

    my_func??
    

    (由@rohan 评论)用于文档字符串,仅用于检查源代码

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-06
      • 1970-01-01
      相关资源
      最近更新 更多