如何使用 Sphinx autodoc 记录单个私有属性?
How to document a single private attribute with Sphinx autodoc?
我正在使用 sphinx 和 autodoc 扩展从我的 python 模块中的文档字符串自动生成文档。
我目前使用 automodule
指令记录模块的所有 public 成员
.. automodule::
:members:
我的模块还有一些私有属性。我想在文档中包含其中之一。
有没有办法告诉 automodule
记录所有 public 成员以及这一个私人成员?我试过使用 :private-members:
选项,但它包括所有私有成员。我也试过手动指定私有属性,但它没有记录任何 public 成员。
.. automodule::
:members: _PRIVATE_ATTR
我想避免为了添加这个私有成员而必须手动列出每个 public 成员。
有没有办法用 autodoc 做到这一点?
这是我期望的工作(使用 Sphinx 1.8.3 测试):
.. automodule:: yourmodule
:members:
:private-members: _PRIVATE_ATTR
但这并不完全有效。如果给出了 :private-members:
选项,无论有无参数,都包括所有私有成员(前提是它们有文档字符串)。
:special-members:
选项有参数,所以很奇怪 :private-members:
没有。
您可以使用 autodata
:
.. automodule:: yourmodule
:members:
.. autodata:: yourmodule._PRIVATE_ATTR
这里有一个略有不同的选择 autodata
"inside of" automodule
:
.. automodule:: yourmodule
:members:
.. autodata:: _PRIVATE_ATTR
还有一个 autoattribute
指令,但它不适用于模块级 "data members"。我发现autoattribute
可以用来记录私有class属性,但是the documentation不清楚[=16=之间的确切区别] 和 autoattribute
.
我正在使用 sphinx 和 autodoc 扩展从我的 python 模块中的文档字符串自动生成文档。
我目前使用 automodule
指令记录模块的所有 public 成员
.. automodule::
:members:
我的模块还有一些私有属性。我想在文档中包含其中之一。
有没有办法告诉 automodule
记录所有 public 成员以及这一个私人成员?我试过使用 :private-members:
选项,但它包括所有私有成员。我也试过手动指定私有属性,但它没有记录任何 public 成员。
.. automodule::
:members: _PRIVATE_ATTR
我想避免为了添加这个私有成员而必须手动列出每个 public 成员。
有没有办法用 autodoc 做到这一点?
这是我期望的工作(使用 Sphinx 1.8.3 测试):
.. automodule:: yourmodule
:members:
:private-members: _PRIVATE_ATTR
但这并不完全有效。如果给出了 :private-members:
选项,无论有无参数,都包括所有私有成员(前提是它们有文档字符串)。
:special-members:
选项有参数,所以很奇怪 :private-members:
没有。
您可以使用 autodata
:
.. automodule:: yourmodule
:members:
.. autodata:: yourmodule._PRIVATE_ATTR
这里有一个略有不同的选择 autodata
"inside of" automodule
:
.. automodule:: yourmodule
:members:
.. autodata:: _PRIVATE_ATTR
还有一个 autoattribute
指令,但它不适用于模块级 "data members"。我发现autoattribute
可以用来记录私有class属性,但是the documentation不清楚[=16=之间的确切区别] 和 autoattribute
.