用于Shinx中的方法组的Docstring
问题描述
是否可以为Sphinx生成的文档中的方法组添加文档字符串?
例如,我希望拥有以下内容:
class MyClass():
"""Doc of the class"""
def __init__(self):
pass
"""----- The following part is about imports -----"""
def import_from_source_1(self):
"""Doc of import_from_source_1"""
pass
def import_from_source_2(self):
"""Doc of import_from_source_2"""
pass
"""----- The following part is about exports-----"""
def export_to_dest_1(self):
"""Doc of export_to_dest_1"""
pass
def export_to_dest_2(self):
"""Doc of export_to_dest_2"""
pass
预期输出为:
MyClass
Doc of the class
----- The following part is about imports -----
import_from_source_1
Doc of import_from_source_1
import_from_source_2
Doc of import_from_source_2
----- The following part is about exports-----
export_to_dest_1
Doc of export_to_dest_1
export_to_dest_2
Doc of export_to_dest_2
请注意,我的目标不是(仅)对方法进行分组(如Group method docstrings in sphinx中所示),而是向组中添加一个文档字符串。
解决方案
文档字符串是作为模块、函数、类或方法定义(https://python.org/dev/peps/pep-0257/#id15)中的第一条语句出现的字符串文字。您不能有像问题中那样的"额外"文档字符串。
但是,您可以使用automethod
:
.. currentmodule:: mymodule
.. autoclass:: MyClass
The following part is about imports
.. automethod:: import_from_source_1
.. automethod:: import_from_source_2
The following part is about exports
.. automethod:: export_to_dest_1
.. automethod:: export_to_dest_2
相关文章