擅长:python、mysql、java
<p>这里有三种选择:</p>
<ol>
<li><p>为了确保始终记录<code>__init__()</code>,可以在conf.py中使用<a href="http://sphinx.pocoo.org/ext/autodoc.html#skipping-members" rel="noreferrer">^{<cd2>}</a>。像这样:</p>
<pre><code>def skip(app, what, name, obj, would_skip, options):
if name == "__init__":
return False
return would_skip
def setup(app):
app.connect("autodoc-skip-member", skip)
</code></pre>
<p>这明确定义了<code>__init__</code>不能被跳过(默认情况下是这样的)。此配置只指定一次,对于.rst源中的每个类,它不需要任何附加标记。</p></li>
<li><p><a href="http://sphinx.pocoo.org/ext/autodoc.html" rel="noreferrer">^{<cd4>}</a>选项是<a href="http://sphinx.pocoo.org/changes.html#release-1-1-oct-9-2011" rel="noreferrer">added in Sphinx 1.1</a>。它使“特殊”成员(那些名字像<code>__special__</code>)由autodoc记录下来。</p>
<p>由于Sphinx 1.2,此选项采用参数,因此比以前更有用。</p></li>
<li><p>使用<code>automethod</code>:</p>
<pre><code>.. autoclass:: MyClass
:members:
.. automethod:: __init__
</code></pre>
<p>必须为每个类添加此项(不能与<code>automodule</code>一起使用,如本答案第一次修订的注释中所指出的)。</p></li>
</ol>