我正在使用Sphinx的autodoc插件来自动记录一组模块。我有一个函数accepts *args,我想重写文档以显示funcname(arg1[, arg2[, ...]])Python stdlib文档使用的稍微更好的样式。
*args
funcname(arg1[, arg2[, ...]])
是否可以覆盖特定功能的自动文档输出?
可以使用autofunction以下方法覆盖签名:
autofunction
.. automodule:: yourmodule :members: :exclude-members: funcname .. autofunction:: funcname(arg1[, arg2[, ...]])
但是,具有覆盖签名的函数不会与通过引入的其他函数进行排序automodule。autofunction对每个函数使用显式指令可以解决此问题:
automodule
.. autofunction:: firstfunc .. autofunction:: funcname(arg1[, arg2[, ...]]) .. autofunction:: thirdfunc
加成
您还可以附加到文档字符串:
.. autofunction:: funcname(arg1[, arg2[, ...]]) Extra documentation here.
要覆盖签名和文档字符串,请使用function代替autofunction。
function
加法2
也可以通过将签名作为函数docstring的第一行来覆盖签名。有关详细信息,请参见此答案。