Parameters 使用python sphinx重复参数

Parameters 使用python sphinx重复参数,parameters,python-sphinx,Parameters,Python Sphinx,我是python sphinx新手,无法找到任何解决以下问题的方法: 假设我有一个函数foo(a,b)和bar(a,c),这样参数a对这两个函数都有相同的描述 是否可以只记录一次a(比如在foo中),然后在bar中复制该描述,以避免在a的描述发生变化时必须更新两段文本 比如说,, 假设我的文档foo: def foo(a,b,c): """ a function description. :param a: a string, your name :param

我是python sphinx新手,无法找到任何解决以下问题的方法:

假设我有一个函数
foo(a,b)
bar(a,c)
,这样参数
a
对这两个函数都有相同的描述

是否可以只记录一次
a
(比如在
foo
中),然后在
bar
中复制该描述,以避免在
a
的描述发生变化时必须更新两段文本

比如说,, 假设我的文档
foo

def foo(a,b,c):
    """
    a function description.

    :param a: a string, your name
    :param b: something else
    """
最棒的是
bar
文档中的一些内容,如:

def bar(a,c)
    """
    another function description.

    :inheritParams foo a: # somehow inherits a's description from foo
    :param c: description for parameter c.
    """
更好的是,如果是
foo(a,b,d)
bar(a,c,d)
,我可以做(在
bar
的文档中):


与取自
foo
foo
bar
有共同参数描述。也就是说,它将从
foo
复制
a
d
的定义,并且我必须记录任何剩余(
c
)。

我不知道任何类似于您的
:InheritationParams:
想法的东西(尽管我喜欢它们!),但您可能实现主要目标(只记录一次参数)使用重构文本

基本上,您可以在如下位置设置替换定义:

.. |param_a_docs| <documentation here>
这可能会有点棘手,因为您需要确保可以找到替换定义,而将docstring放到混合中可能会使这变得非常重要

要尝试的一件事是在中设置替换定义。

您可以尝试。它不会按照您的要求将参数文档从
foo
复制到
bar
,但会在
foo
中创建指向参数文档的超链接

.. |param_a_docs| <documentation here>
def foo(a,b,c):
    """
    a function description.

    :param a: |param_a_docs|
    :param b: something else
    """