【发布时间】:2015-05-30 05:23:22
【问题描述】:
假设我有Numpydoc style 中记录的以下函数,并且该文档是使用Sphinx autofunction directive 自动生成的:
def foo(x, y, _hidden_argument=None):
"""
Foo a bar.
Parameters
----------
x: str
The first argument to foo.
y: str
The second argument to foo.
Returns
-------
The barred foo.
"""
if _hidden_argument:
_end_users_shouldnt_call_this_function(x, y)
return x + y
我不想将隐藏参数宣传为我的公共 API 的一部分,但它会显示在我的自动生成的文档中。有什么方法可以告诉 Sphinx 忽略函数的特定参数,或者(甚至更好)使其自动忽略带前导下划线的参数?
【问题讨论】:
-
你所拥有的似乎真的很糟糕的设计。相反,您应该有一个
_foo函数,其中_hidden_parameter根本没有隐藏,尽管文档警告不要使用_foo函数,然后是fooonly两个参数简单地用正确的值调用_foo。当你需要最后一个参数时,你使用_foo,当你不需要它时,你像最终用户一样使用foo。 -
@Bakuriu 我完全同意,在个人项目中我可能会采用这种方法。不幸的是,这是我无法控制的其他人代码的文档:/
标签: python python-sphinx numpydoc