【发布时间】:2020-10-01 15:18:37
【问题描述】:
我正在使用 Sphinx 从我的文档字符串生成文档,这些文档字符串的格式为 Sphinx style。根据PEP-257,我应该使用动词“覆盖”和“扩展”来表示继承的方法是否被替换或调用。
如果一个类是另一个类的子类并且它的行为主要是从那个类继承的,它的文档字符串应该提到这一点并总结差异。用动词“override”表示子类方法替换超类方法,不调用超类方法;使用动词“extend”表示子类方法调用超类方法(除了它自己的行为)。
由于我是新手,我不清楚我应该如何以 Sphinx 格式执行此操作。我是简单地使用我的描述中的一个词,还是有一个像:return: 这样的键 我应该应用?该指令是在 子类 级别上给出的,是动词的位置还是我也将它们添加到各个方法中?
class A:
"""This is my base class."""
def method_a(self):
"""My base method a."""
pass
def method_b(self):
"""My base method b."""
pass
class B(A):
"""This is the subclass that inherits from :class: A."""
def method_a(self):
"""This method replaces the inherited method_a."""
print("overridden")
def method_b(self):
"""This method calls the inherited method_b."""
super(B, self).method_b()
print("extended")
class B 及其方法的一组简单但正确的文档字符串是什么样的?
【问题讨论】:
标签: python python-3.x python-sphinx docstring