繁体   English   中英

如何使用Sphinx autodoc记录单个私有属性?

[英]How to document a single private attribute with Sphinx autodoc?

我正在使用sphinx和autodoc扩展名从我的python模块中的文档字符串自动生成文档。

我目前正在使用automodule指令来记录模块的所有公共成员

.. automodule::
    :members:

我的模块还具有许多私有属性。 我想在文档中包括其中之一。

有没有办法告诉自动automodule记录所有公共成员以及这个私有成员的文件? 我尝试使用:private-members:选项,但这包括所有私有成员。 我也尝试过手动指定private属性,但是它没有记录任何公共成员。

.. automodule::
    :members: _PRIVATE_ATTR

我想避免只为添加此私人成员而手动列出每个公共成员的方法。

有没有办法用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内部的automodule另一种替代方法:

.. automodule:: yourmodule
   :members:

   .. autodata:: _PRIVATE_ATTR

还有一个autoattribute指令,但是它不适用于模块级的“数据成员”。 我发现可以使用autoattribute来记录私有类属性 ,但是对于 autodataautoattribute之间的确切区别, 该文档尚不清楚。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM