【发布时间】:2012-03-19 13:51:36
【问题描述】:
我有以下函数定义(此示例简化了文档字符串):
def ui(*classes, call_init=False):
'create a metaclass based on *classes*'
...
当我使用 sphinx-autodoc(特别是 automodule)创建文档时,它会为此函数生成以下签名
ui(call_init, *classes)
谁能解释为什么 sphinx-autodoc 以错误的方式获取签名?另外,有没有办法让它包含 *call_init* 的默认值?
【问题讨论】:
-
签名有效(我已经运行了这个函数,所以我确定),它只是意味着命名参数只是关键字。
-
呃,对,这只是 python 2 中的一个语法错误。我会将此报告为 Sphinx 中的错误;它显然不知道 Python 3 中的这种用法,因此为您重新订购。
-
啊,是的。我忘记了 python2 不支持该语法。谢谢。
-
fyi,似乎是一个已经报告的错误,有一个可用的补丁:bitbucket.org/birkenfeld/sphinx/issue/828/…
-
Wooble,您愿意将其重新发布为答案吗?因为它是一个。 ;)
标签: python python-3.x python-sphinx