Sphinx autodoc是否有可能显示来自两者的文档字符串,类方法(从抽象类扩展)和抽象类方法本身。例如,在以下代码中:
class ExampleAbstractClass(ABC):
def __init__(self):
pass
@abstractmethod
def example_method(self):
'''
documentation for example_method in ExampleAbstractClass
'''
pass
class TestClass(ExampleAbstractClass):
def __init__(self):
pass
def example_method(self):
'''
documentation for example_method in TestClass
'''
return super().example_method()
要使生成的文档同时包含“ ExampleAbstractClass中example_method的文档”和“ TestClass中example_method的文档”。
看来,如果我在TestClass的example_method中不包含docstring,则默认情况下会使用super方法的docstring,但是一旦在TestClass的example_method中定义了任何doc字符串,它们就会被替换为属于ExampleAbstractClass的example_method中的原始文档字符串。
我尝试使用以下方法手动添加到方法 doc 属性中:
self.example_method.__doc__ = super().example_method.__doc__ += '''test'''
但是,这似乎没有效果。是否可以通过任何方法将TestClass中example_method的生成文档“继承”为父文档,并在文档中附加新的文档字符串?