我正在使用Sphinx的AutoDoc插件自动记录一组模块。我有一个接受*args的函数,我想重写文档以显示python stdlib文档使用的稍微更好的funcname(arg1[, arg2[, ...]])样式。
是否可以覆盖特定功能的自动锁定输出?

最佳答案

可以使用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的第一行来重写签名。有关详细信息,请参见this answer

关于python - 是否可以为特定功能覆盖Sphinx autodoc?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5365684/

10-12 18:27