类或__init__构造函数中的docstring?

Jin*_*Jin 3 python docstring python-sphinx

似乎有两个地方可以为一个类放置docstrings:

  1. 在类定义下:
class MyClass(object):
     """ Summary of MyClass

     Body

     ...
     """
Run Code Online (Sandbox Code Playgroud)
  1. __init__构造函数下面:
...
    def __init__(self, arg1, arg2):
        """ Summary of MyClass

        Body

        ...
        """

Run Code Online (Sandbox Code Playgroud)

哪个更受欢迎?或者两个都可以吗?

wim*_*wim 7

它们都可以存在,因为它们都是针对不同的东西.

类的docstring应该总结其行为并列出公共方法和实例变量.如果该类要进行子类化,并且具有子类的附加接口,则应单独列出此接口(在docstring中).类构造函数应记录在其__init__方法的docstring中.各个方法应该由他们自己的docstring记录.

强调我的.该参考文献来自PEP 257 - Docstring Conventions

  • 另外,对于 sphinx 文档,我发现有一个选项可以通过设置 `autoclass_content = both`](/sf/ask/391947811/ autodoc-to-document-a-classs-init-self-method) (2认同)