Docstrings数据?

Bar*_*ski 20 python docstring

有没有办法以类似于docstring描述模块或功能的方式描述模块的数据?

class MyClass(object):
    def my_function():
        """This docstring works!"""
        return True
    my_list = []
    """This docstring does not work!"""
Run Code Online (Sandbox Code Playgroud)

cod*_*ape 14

据我所知,无法将文档字符串分配给模块数据成员.

PEP 224建议使用此功能,但PEP被拒绝.

我建议你在模块的docstring中记录模块的数据成员:

# module.py:
"""About the module.

module.data: contains the word "spam"

"""

data = "spam"
Run Code Online (Sandbox Code Playgroud)


Dzi*_*inX 10

可能使模块的数据文件,在使用的epydoc的语法.Epydoc是Python最常用的文档工具之一.

记录的语法#:在变量初始化行之上,如下所示:

# module.py:

#: Very important data.
#: Use with caution.
#: @type: C{str}
data = "important data"
Run Code Online (Sandbox Code Playgroud)

现在,当您生成文档时,data将描述为具有给定描述和类型的模块变量str.你可以省略该@type行.


Dan*_*ski 10

正如codeape所解释的那样,不可能记录一般数据成员.

但是,它可以记录property数据成员:

class Foo:
  def get_foo(self): ...

  def set_foo(self, val): ...

  def del_foo(self): ...

  foo = property(get_foo, set_foo, del_foo, '''Doc string here''')
Run Code Online (Sandbox Code Playgroud)

foo显然会为属性提供docstring .