我有一堆使用“特殊方法”的类:
class Foo(object):
"Foo docstring"
attr1 = "Attribute!" #: first attribute
attr2 = "Another Attribute!" #: second attribute
def __init__(self):
self.x = 12
def say_hello(self):
"""
say_hello(self) -> None
Issue a friendly greeting.
"""
print "Hello! x is {0}".format(self.x)
def __contains__(self,other):
"""Implement ``other in self``"""
return other == self.x
现在我想为此使用 Sphinx 和 autodoc 生成 html 文档。我如何告诉 Sphinx 记录__contains__
?我尝试添加
autodoc_default_flags = ['members', 'undoc-members', 'special-members']
to conf.py
,但这也包括__dict__
我绝对不想要的。
目前,myproject.rst
文件的相关部分如下所示:
.. automodule:: myproject.foomodule
:members:
:undoc-members:
:show-inheritance:
编辑添加
.. automodule:: myproject.foomodule
:members:
:undoc-members:
:show-inheritance:
.. automethod:: myproject.foomodule.Foo.__contains__
确实添加了该方法的文档,但在一个单独的部分中——不作为Foo
类文档的一部分。