假设我有一个这样的课程:
class MyClass(object):
""" Summary docs for my class.
Extended documentation for my class.
"""
def __init__(self, *args):
self.values = np.asarray(args)
如果我使用带有autodoc
扩展名的Sphinx来记录此类,请执行以下操作:
.. automodule:: mymodule
:members:
...构造函数签名显示为 MyClass(*args)
。我宁愿覆盖它并将其记录为 MyClass(first, second, third)
。
如果这是一个函数,我可以覆盖docstring第一行中的签名。但是这个技巧似乎不适用于类docstring。那么如何覆盖构造函数签名?
答案 0 :(得分:10)
我认为最好的选择是做这样的事情:
.. automodule:: mymodule
:members:
:exclude-members: MyClass
.. autoclass:: MyClass(first, second, third)
MyClass
将覆盖params,mymodule
的其他成员将被自动记录。
您需要使用MyClass
排除:exclude-members:
,因为它将被包含两次。
我认为这是目前最简单的解决方案。