什么放在python模块docstring?

好的,所以我已经阅读了PEP 8PEP 257,并且我已经为函数和类编写了很多文档字符串,但是我对模块docstring中的内容有点不确定.我想,至少它应该记录模块导出的函数和类,但我也看到了一些列出作者姓名,版权信息等的模块.有没有人有一个好的python文档字符串如何应该的例子结构化?

解决方法:

想想有人在交互式口译员的提示下做帮助(你的模块) – 他们想知道什么? (提取和显示信息的其他方法大致相当于信息量方面的帮助).所以如果你有x.py:

"""This module does blah blah."""

class Blah(object):
  """This class does blah blah."""

然后:

>>> import x; help(x)

说明:

Help on module x:

NAME
    x - This module does blah blah.

FILE
    /tmp/x.py

CLASSES
    __builtin__.object
        Blah

    class Blah(__builtin__.object)
     |  This class does blah blah.
     |  
     |  Data and other attributes defined here:
     |  
     |  __dict__ = <dictproxy object>
     |      dictionary for instance variables (if defined)
     |  
     |  __weakref__ = <attribute '__weakref__' of 'Blah' objects>
     |      list of weak references to the object (if defined)

正如你所看到的,关于类的详细信息(以及函数,虽然我没有在这里展示)已经包含在那些组件的文档字符串中;模块自己的docstring应该非常简单地描述它们(如果有的话),而是集中精力概括整个模块可以为你做什么,理想情况下是一些经过证明的示例(就像函数和类理想情况下应该有doctested示例一样)他们的文档字符串).

我没有看到作者姓名和版权/许可等元数据如何帮助模块的用户 – 它可以更好地进行评论,因为它可以帮助有人考虑是否重用或修改模块.

上一篇:C++实现线程安全的单例模式


下一篇:docker+es+kibana和springboot中使用es