根据Override function declaration in autodoc for sphinx(从Is it possible to override Sphinx autodoc for specific functions?链接到),可以通过将自动签名放置在文档字符串的第一行来在autodoc中创建替代功能签名。这很方便,但是可以对多个签名执行相同的操作吗?
我的函数接受一个或两个额外的参数,并根据是否有一个或两个对它们进行不同的处理:
require("jquery.fileupload")
$('#file-input').fileupload()
正如def compare(x, y, *bounds):
"""
Blah blah blah.
Blah? Blah! Blah Blah.
Parameters
----------
x :
Foo.
y :
Bar.
exact :
One arg.
lower :
First of two args.
upper :
Second of two args.
"""
部分所暗示的,我有两个调用约定(三个是真的,因为空的Parameters
是有效的选项):
bounds
compare(x, y[, exact])
我想将两个选项都包含在文档字符串中,就像builtin max
函数一样。唯一的问题是compare(x, y[, lower, upper])
是用.. function::
directive而不是max
记录的。
我可以执行以下操作:
.. autofunction::
但是,我认为这不是可取的。 autodoc是否允许在文档字符串中包含多个功能签名?
次要注意事项:在实践中,我假设它们在此特定事物上的行为相同,因此使用"""compare(x, y[, {exact | lower, upper}])
Blah blah blah.
...
代替.. automethod::
。万一不是这种情况,请纠正我。