在Sphinx中,可以使用py:function
(或py:method
)指令包含手动的函数或方法的签名:
.. py:function:: my_func(data, named=None, *args, *kwargs)
也可以使用autodoc
指令来包含和格式化函数或方法的整个文档字符串:
.. automethod:: my_func
我想知道是否有一种方法可以将autodoc
配置为仅包含和格式化签名,而不使用其他文档字符串,这样我就不必手动执行。
答案 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