如何自动生成包含嵌套函数的文档字符串?

问题描述

如何为 c_nested 函数自动生成文档?

背景:我为其他开发人员编写代码文档,我想自动生成包含带有简短描述(文档字符串)的嵌套函数的所有类方法摘要

当我在 help(A) 课上运行 A 时,我得到:

Help on class A in module __main__:

class A(builtins.object)
 |  A(a)
 |  
 |  doc A
 |  
 |  Methods defined here:
 |  
 |  __init__(self,a)
 |      Initialize self.  See 
 |  
 |  b_method(self)
 |      doc b_method

请求的输出c_nested() with docstring:(文档可以用脚本打印事件,不需要用 pydoc 帮助打印。)

Help on class A in module __main__:

class A(builtins.object)
 |  A(a)
 |  
 |  doc A
 |  
 |  Methods defined here:
 |  
 |  __init__(self,a)
 |      Initialize self.  See 
 |  
 |  b_method(self)
 |      doc b_method
 |
 |           c_nested()
 |                doc c_nested

类示例:

class A:
    """ doc A """
    def __init__(self,a):
        self.a = a

    def b_method(self):
        """ doc b_method """

        def c_nested():
            """doc  c_nested """
            pass

        return c_nested()

解决方法

本地函数不公开可见,因此它们的文档字符串不会包含在帮助中。

如果你想在帮助中显示函数,请将其设为模块级函数或类的方法。

另见Locator Strategies