自动文档字符串中的多功能签名

时间:2019-05-29 20:19:01

标签: python python-sphinx autodoc

根据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是有效的选项):

  1. bounds
  2. 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::。万一不是这种情况,请纠正我。

0 个答案:

没有答案