gpt4 book ai didi

python - 修改 automodule 指令下特定类的选项

转载 作者:行者123 更新时间:2023-11-30 22:31:48 26 4
gpt4 key购买 nike

我有一个 Python 模块 my_module.py,如下所示:

import numpy

class A(numpy.ndarray):
""" Extension for illustration. """
pass

class B:
""" My base class. """
def x():
""" Does the thing. """
pass

class C(B):
""" My extension class. """
pass

我有一个如下所示的 reST 文件:

API Reference
=============

my_module
---------

.. automodule:: my_module
:members:
:special_members:

我希望能够向 BC 添加 :inherited-members: 选项,但不向 A 添加.

我尝试在 automodule 下添加单独的 autoclass 指令:

.. automodule:: my_module
:members:
:special_members:

.. autoclass:: B
:inherited-members:

.. autoclass:: C
:inherited-members:

这会产生意想不到的效果,即放置带有继承成员的 BC 的正确文档版本,然后是 A 的完整文档>、BC,所有这些都在同一文件中没有继承的成员。

如何在不复制生成的文档的情况下为某些成员指定不同的选项?

我在 Python 3.6.2 的 Anaconda 安装上使用 Sphinx 1.6.3。

最佳答案

尝试将 :members: 添加到类 BC 以及 :exclude-members: B, C到模块:

.. automodule:: my_module
:members:
:special_members:
:exclude-members: B, C

.. autoclass:: B
:inherited-members:
:members:

.. autoclass:: C
:inherited-members:
:members:

来自automodule, autoclass, and autoexception options and advanced usage :

For classes and exceptions, members inherited from base classes will be left out when documenting all members, unless you give the inherited-members flag option, in addition to members:

.. autoclass:: Noodle
:members:
:inherited-members:

如果这不起作用,我可以改进我的答案。注释不利于提供示例代码,因此我必须使用答案。

关于python - 修改 automodule 指令下特定类的选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45701936/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com