python - 如何在 Sphinx 中交叉引用 autodoc 生成的函数?

标签 python methods python-sphinx restructuredtext autodoc

我正在使用 Sphinx autodoc 功能根据我的 Python 库的文档字符串生成文档。

找到交叉引用的语法here

标签必须在该部分之前,以允许从文档的其他区域引用该部分。

我有一个 .rst (ReStructeredText) 文件,用于我的一个类。它使用

.. autoclass:: classname
    :members:

为类生成文档。

我的问题是,如何从文档中的另一个 .rst 文档中引用该类的自动生成方法?如果我尝试在方法的文档字符串中放置标签,Sphinx 会提示。如果我尝试在方法标题之前放置标签,Sphinx 将无法识别它。

有没有一种简单的方法可以做到这一点,还是我必须在我的类文件中显式写入方法名称并在其前面加上标签?

这是 [Python 文档 2 中的引用示例。做我需要的(我假设它使用了自动文档功能,虽然我不确定)

最佳答案

您无需添加标签。要引用 Python 类、方法或其他文档化对象,请使用 Python domain 提供的标记。 .

例如,下面定义了对 mymethod 方法的交叉引用:

:py:meth:`mymodule.MyClass.mymethod`

甚至更简单(因为 Python 域是默认的):

:meth:`mymodule.MyClass.mymethod`

TextWrapper.wrap 的文档您在问题中链接到的内容包括两个此类交叉引用(单击“显示源”以查看 reST 标记)。

关于python - 如何在 Sphinx 中交叉引用 autodoc 生成的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22700606/

相关文章:

java - 方法中的短缩窄转换

django - 托管私有(private) Sphinx 文档

python - 如何更改顺序barplot seaborn

python - 如何将HSV色彩空间的V channel 的值设置为恒定值

python - 使用 INSERT IGNORE 的 SQLAlchemy session 查询

scala - 声明一种接受未知案例类作为参数的方法,以在 Scala 中的模式匹配中使用它

C# : Difference between method types

python - 如何使Elasticsearch返回所有包含特定术语的文档而不对其评分

python-sphinx - 将 Sphinx 与 rst2pdf 结合使用时如何添加节编号

numpy - Sphinx Autodoc 和 NumpyDoc