默认情况下,Sphinx不会为_init__(self)生成文档。我尝试了以下方法:
。。自动模块::mymodule
:成员:
及
.autoclass::MyClass
:成员:
在conf.py中,设置以下内容只会将_init___;(self)docstring追加到类docstring中(Sphinx autodoc文档似乎同意这是预期的行为,但没有提到我试图解决的问题):
自动类内容='both'
以下是三个备选方案:
-
为确保始终记录
\uuuu init\uuuu(),可以在conf.py中使用autodoc skip member。像这样:def skip(应用程序、内容、名称、对象、将跳过的内容、选项): 如果名称=“\uuuu init\uuuuuu”: 返回错误 返回将跳过 def设置(应用程序): app.connect(“autodoc跳过成员”,跳过)这明确定义了不被跳过的
\uuuuu init\uuuu(默认情况下)。此配置只指定一次,并且不需要为.rst源中的每个类添加任何附加标记 -
Sphinx 1.1中添加了
特殊成员选项。它使“特殊”成员(名称如\uuuuu special\uuuu)由autodoc记录自Sphinx1.2以来,此选项采用的参数比以前更有用
-
使用
自动方法:。。自动类::MyClass :成员: .. automethod::uu init__必须为每个类添加此选项(不能与
automodule一起使用,如本答案第一版注释中所述)