sphinx 中方法组的文档字符串

Sim*_*pom 3 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
Run Code Online (Sandbox Code Playgroud)

预期输出将是:

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
Run Code Online (Sandbox Code Playgroud)

请注意,我的目标不是(仅)对方法进行分组(如在 sphinx中的Group 方法文档字符串中找到的那样),而是将文档字符串添加到组中。

mzj*_*zjn 5

文档字符串是作为模块、函数、类或方法定义 ( 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
Run Code Online (Sandbox Code Playgroud)