jte*_*ace 2 python python-sphinx autodoc
我有一个这样的课:
class MyBase(object):
x = 3
"""Documentation for property x"""
Run Code Online (Sandbox Code Playgroud)
和另一个继承它的类:
class MyObj(MyBase):
x = 0
Run Code Online (Sandbox Code Playgroud)
当我使用sphinx的autodoc生成文档时,MyObj.x没有记录.有没有办法从中继承docstring MyBase.x?我找到了DocInherit,但由于它使用了一个装饰器,它只适用于类方法.有什么方法可以用属性做到这一点?
我找到了使用属性函数的变通方法:
class MyBase(object):
_x = 3
x = property( lambda s: s._x, doc="Documentation for property x")
class MyObj(MyBase):
_x = 0
Run Code Online (Sandbox Code Playgroud)
给定一个实例变量,这很好:
>>> m = MyObj()
>>> m.x
0
Run Code Online (Sandbox Code Playgroud)
一个人可以打电话help(m)并获得适当的财产文件,x而狮身人面像也可以正确地选择它.