用于sphinx中方法组的Docstring

时间:2018-02-07 22:16:17

标签: python python-sphinx

是否可以在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中所示),而是将文档字符串添加到组中。

1 个答案:

答案 0 :(得分:1)

docstring是一个字符串文字,作为模块,函数,类或方法定义(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