python-sphinx - 只显示autodoc的函数签名?

时间:2017-09-25 14:51:51

标签: python-sphinx autodoc

在Sphinx中,可以使用py:function(或py:method)指令包含手动的函数或方法的签名:

.. py:function:: my_func(data, named=None, *args, *kwargs)

也可以使用autodoc指令来包含和格式化函数或方法的整个文档字符串:

.. automethod:: my_func

我想知道是否有一种方法可以将autodoc配置为仅包含和格式化签名,而不使用其他文档字符串,这样我就不必手动执行。

2 个答案:

答案 0 :(得分:0)

请参阅autodoc的sphinx.ext.autodoc.between

  

返回一个侦听器,该侦听器保留,或者如果 exclude 为True,则排除与标记正则表达式匹配的行之间的行。如果没有匹配行,则生成的docstring将为空,因此除非 keepempty 为真,否则不会进行任何更改。

     

如果 是一系列字符串,则只会处理内容中类型的文档字符串。

答案 1 :(得分:0)

autodoc-process-signature也可以在这里使用。

def process_signature(app, what, name, obj, options, signature, return_annotation):
    return modified_signature, modified_return_annotation
    # will be rendered to method(modified_signature) -> modified_return_annotation

def setup(app):
    app.connect("autodoc-process-signature", process_signature)

http://www.sphinx-doc.org/en/master/_modules/sphinx/ext/autodoc.html