这里有一些关于使用Autodoc显示私有方法的问题,但是我没有看到任何关于如何只显示私有方法的内容。
可以使用以下方式显示私有方法和普通方法:
.. autoclass:: my_package.my_file.MyClass
:members:
:private-members:
然而,移除
:members:
会导致没有方法被显示出来。那我如何只展示私有方法,并且仅针对这个指令呢?
这里有一些关于使用Autodoc显示私有方法的问题,但是我没有看到任何关于如何只显示私有方法的内容。
可以使用以下方式显示私有方法和普通方法:
.. autoclass:: my_package.my_file.MyClass
:members:
:private-members:
:members:
会导致没有方法被显示出来。找到了一种方法!
使用此处详细介绍的Skipping Members设置,我能够定义一个规则以有选择性地跳过成员。
在conf.py中:
Original Answer翻译成:最初的回答
def hide_non_private(app, what, name, obj, skip, options):
# if private-members is set, show only private members
if 'private-members' in options and not name.startswith('_'):
# skip public methods
return True
else:
# do not modify skip - private methods will be shown
return None
def setup(app):
app.connect('autodoc-skip-member', hide_non_private)
True
,则不会显示该成员。如果是False
,则会显示该成员。如果是None
,则忽略此函数的结果并调用下一个跳过检查方法。:private-members:
并且成员名称不以_
开头(即它是公共方法),则会跳过该成员,并且不会出现在文档中。.. autoclass:: my_package.my_file.MyClass
:members:
:private-members: