14

Sphinxのautodocプラグインを使用して、モジュールのセットを自動的に文書化します。を受け入れる関数があります。ドキュメントをオーバーライドして、Pythonstdlibドキュメントが使用する*args少し良いスタイルを表示したいと思います。funcname(arg1[, arg2[, ...]])

特定の関数のautodoc出力をオーバーライドすることは可能ですか?

4

1 に答える 1

20

以下を使用して署名をオーバーライドすることができますautofunction

.. automodule:: yourmodule
   :members:
   :exclude-members: funcname

.. autofunction:: funcname(arg1[, arg2[, ...]])

ただし、オーバーライドされたシグネチャを持つ関数は、 でプルされた他の関数と並べ替えられませんautomodule。すべての関数に明示的なautofunctionディレクティブを使用すると、次のように回避できます。

.. autofunction:: firstfunc

.. autofunction:: funcname(arg1[, arg2[, ...]])

.. autofunction:: thirdfunc

添加

docstring に追加することもできます。

.. autofunction:: funcname(arg1[, arg2[, ...]])

   Extra documentation here.  

署名と docstring の両方をオーバーライドするには、function代わりに を使用しautofunctionます。

追加2

関数の docstring の最初の行として署名を指定することで、署名をオーバーライドすることもできます。詳細については、この回答を参照してください。

于 2011-03-20T11:29:56.670 に答える