是否可以在Sphinx中隐藏Python函数参数?

本教程将介绍是否可以在Sphinx中隐藏Python函数参数?的处理方法,这篇教程是从别的地方看到的,然后加了一些国外程序员的疑问与解答,希望能对你有所帮助,好了,下面开始学习吧。

是否可以在Sphinx中隐藏Python函数参数? 教程 第1张

问题描述

假设我有以下Numpydoc style中记录的函数,文档是通过Sphinxautofunction 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忽略函数的特定参数,或者(更好的)让它自动忽略带有前导下划线的参数?

推荐答案

我认为在Sphinx中没有这样的选项。无需侵入代码即可实现此目的的一种可能方法是使用自定义签名。

在这种情况下,您需要如下内容:

.. autofunction:: some_module.foo(x, y)

这将覆盖函数的参数列表,并在文档中隐藏不需要的参数。

好了关于是否可以在Sphinx中隐藏Python函数参数?的教程就到这里就结束了,希望趣模板源码网找到的这篇技术文章能帮助到大家,更多技术教程可以在站内搜索。