目前,我将模块描述为:
.. autoclass:: package.module.class
:members:
:undoc-members:
:show-inheritance:
:private-members:
:member-order: bysource
显示一行中的所有成员。我想做一些事情,如:
.. autoclass:: package.module.class
:members:
:undoc-members:
:show-inheritance:
:member-order: bysource
Private methods
===============
.. autoclass:: package.module.class
:noindex:
:private-members:
:member-order: bysource
我不得不使用:noindex:
,因为:
警告:重复的包对象描述。模块,类中的其他实例,对其中一个使用:noindex:
但似乎没有:members:
,:private-members:
就不会出现。这段代码将只显示类对象docstring:
.. automodule:: package.module.class
:noindex:
:private-members:
:member-order: bysource
这个东西会显示所有的类方法:
.. automodule:: package.module.class
:noindex:
:members:
:private-members:
:member-order: bysource
如何显示私有成员而不显示其他东西?
这并不能直接回答你的问题,但是我写了一个叫做autoclasstoc的Sphinx插件,正是为了在类文档中直观地分离公共方法和私有方法。这个插件的基本思想是创建一个链接到类的所有属性的列表,组织成部分,如公共/私有,属性/方法,继承自
下面是该插件使用的语法示例。它只是在您已有的内容上添加了一行:
.. autoclass:: package.module.class
:members:
:undoc-members:
:show-inheritance:
:private-members:
:member-order: bysource
.. autoclasstoc::