2011-03-19 23 views
10

我正在使用Sphinx的autodoc插件来自动记录一组模块。我有一个接受*args的函数,我想覆盖文档以显示Python stdlib文档使用的略微好看的funcname(arg1[, arg2[, ...]])样式。是否有可能重写特定功能的狮身人面像autodoc?

是否有可能覆盖特定功能的autodoc输出?

回答

16

有可能通过使用autofunction覆盖签名:

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

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

然而,重写的签名功能不能与其他功能分类拉与automodule。使用显式autofunction指令为每个函数周围的工作:

.. autofunction:: firstfunc 

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

.. autofunction:: thirdfunc 

加成

您也可以附加到文档字符串:

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

    Extra documentation here. 

同时重写签名和文档字符串,使用function代替autofunction

加成2

签名也可以通过具有一个签名作为函数文档字符串的第一行被覆盖。有关详细信息,请参阅this answer

+0

+1表示“加法2”。覆盖文档字符串中的签名比尝试排除该成员更容易,然后使用自定义签名重新添加该签名等。 – brianmearns 2014-04-10 12:43:29