用于Shinx中的方法组的Docstring

2022-04-20 00:00:00 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中所示),而是向组中添加一个文档字符串。


解决方案

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

相关文章