默认情况下,Sphinx不会为初始化(self)生成文档。我试过以下方法:
.. automodule:: mymodule
:members:
以及
..autoclass:: MyClass
:members:
在conf.py中,设置以下内容只会将“初始化”(self)docstring附加到类docstring(the Sphinx autodoc documentation似乎同意这是预期的行为,但没有提到我试图解决的问题):
autoclass_content = 'both'
Tags:
在过去的几年中,我为各种不相关的Python项目编写了
autodoc-skip-member
回调的几个变体,因为我希望像__init__()
、__enter__()
和__exit__()
这样的方法出现在我的API文档中(毕竟,这些“特殊方法”是API的一部分,有什么地方比在特殊方法的docstring中更好地记录它们)。最近,我把最好的实现作为我的一个Python项目(here's the documentation)的一部分。The implementation基本上可以归结为:
是的,有比逻辑更多的文档:-)。与使用
special-members
选项(对我来说)相比,定义这样的autodoc-skip-member
回调的好处是special-members
选项还支持__weakref__
(可用于所有新样式类,AFAIK)等属性的文档,我认为这些属性是噪音,根本没有用处。回调方法避免了这一点(因为它只对函数/方法起作用,而忽略其他属性)。你很亲密。您可以在} 选项:
conf.py
文件中使用^{这里有三种选择:
为了确保始终记录} 。像这样:
__init__()
,可以在conf.py中使用^{这明确定义了
__init__
不能被跳过(默认情况下是这样的)。此配置只指定一次,对于.rst源中的每个类,它不需要任何附加标记。^{} 选项是added in Sphinx 1.1。它使“特殊”成员(那些名字像
__special__
)由autodoc记录下来。由于Sphinx 1.2,此选项采用参数,因此比以前更有用。
使用
automethod
:必须为每个类添加此项(不能与
automodule
一起使用,如本答案第一次修订的注释中所指出的)。相关问题 更多 >
编程相关推荐