我可以覆盖 Sphinx autodoc 中特定 class 属性 的文档字符串吗?
Can I override the docstring for a specific class property in Sphinx autodoc?
使用 Sphinx 2.2.0 和 python 3.6.8
我有两个 class,A
和 B
,A
的 属性 生成一个实例 B
。我希望我的 sphinx html 输出到引用对象 B
,但我希望原始文档字符串没有任何 sphinx/rest 格式。我正在使用 autodoc,A
中的大多数方法和属性不需要此修改,但如果可能,我想在几个地方进行修改。
class A(object):
"""
This is class A.
"""
@property
def getB(self):
"""
Get an instance of B.
"""
return B()
# A also includes many other methods and properties which
# I want to document using autodoc
class B(object):
pass
我可以在 getB
文档字符串中写入 Get an instance of :class:`<B>`.
,但 A.getB.__doc__
或 help(A.getB)
包含该确切文本。我希望 A.getB.__doc__
保留 Get an instance of B
但在 autodoc 生成的 html 输出中有参考。
class A
Bases: object
getB
Get an instance of B̲.
假设A在a.py,我试过了
.. automodule:: a
:member: A
:exclude-member: getB
.. method:: getB
:property:
get an instance of :class:`<B>`.
然而,这不会将 B 置于 A class 文档中或正确引用 class B.
property a.getB
Get an instance of B.
class A
Bases: object
我也试过.. method:: a.getB
和.. method:: a.A.getB
都没有成功。
没有尝试 get the autodoc output 并直接修改它,有什么办法可以做到这一点吗?
为了将 .. method:: getB
的输出放在 class A
的文档中,您需要使用 autoclass
而不是 automodule
。
.. autoclass:: a.A
:members:
:exclude-members: getB
.. method:: getB
:property:
Get an instance of :class:`B`.
使用 Sphinx 2.2.0 和 python 3.6.8
我有两个 class,A
和 B
,A
的 属性 生成一个实例 B
。我希望我的 sphinx html 输出到引用对象 B
,但我希望原始文档字符串没有任何 sphinx/rest 格式。我正在使用 autodoc,A
中的大多数方法和属性不需要此修改,但如果可能,我想在几个地方进行修改。
class A(object):
"""
This is class A.
"""
@property
def getB(self):
"""
Get an instance of B.
"""
return B()
# A also includes many other methods and properties which
# I want to document using autodoc
class B(object):
pass
我可以在 getB
文档字符串中写入 Get an instance of :class:`<B>`.
,但 A.getB.__doc__
或 help(A.getB)
包含该确切文本。我希望 A.getB.__doc__
保留 Get an instance of B
但在 autodoc 生成的 html 输出中有参考。
class A
Bases: object
getB
Get an instance of B̲.
假设A在a.py,我试过了
.. automodule:: a
:member: A
:exclude-member: getB
.. method:: getB
:property:
get an instance of :class:`<B>`.
然而,这不会将 B 置于 A class 文档中或正确引用 class B.
property a.getB
Get an instance of B.
class A
Bases: object
我也试过.. method:: a.getB
和.. method:: a.A.getB
都没有成功。
没有尝试 get the autodoc output 并直接修改它,有什么办法可以做到这一点吗?
为了将 .. method:: getB
的输出放在 class A
的文档中,您需要使用 autoclass
而不是 automodule
。
.. autoclass:: a.A
:members:
:exclude-members: getB
.. method:: getB
:property:
Get an instance of :class:`B`.