有没有一种方法可以使用Sphinx在Python文档字符串中指示“有效范围”?例如,请考虑以下线性函数。
def f(m, x, b):
"""
Returns the `y` value of a linear function using slope-intercept form.
:param x: The x-axis value.
:type x: float
:param m: The slope of the linear function.
:type m: float
:param b: The y-intercept.
:type b: float
"""
if x < 0:
raise ValueError('The min "x" value of this function is 0')
return m * x + b
有没有一种方法可以指示变量 x
的域为“x必须大于零”?或者用区间表示法,[0, infinity]
。
具体而言,有没有一种方法可以使用Sphinx在Python docstring中记录这一点?
:param x: x轴的值。该函数的最小“x”值为0。
- Steve Piercydomain
的方法是在docstring中定义一个doctest,然后Sphinx会根据所选的主题渲染它为一个警告。需要注意的是,doctest是一个简单的Python构造,主要用于表达简单的情况。对于更复杂的用例,您可以实现一个domain
类,对其进行文档记录,并进行交叉引用。文档一致性的关键在于,您可以使用反引号或粗体等形式进行语言上的说明来表达domain是什么。 - bad_coder