使用纯 Python 函数,您可以按顺序(例如foo(1, 2, 3)
)或按名称(例如foo(a=1, c=3, b=2)
)传递参数。
C 模块中定义的函数可以使用任一约定。您不能说range(stop=10, step=2)
,因此大多数但不是所有使用 C 接口实现的函数都是如此。
有没有办法从 Python 中确定函数的参数传递约定?
这似乎是一个开放的错误:根本没有办法告诉这一点。此外,问题与实现有关:您的代码可能在(例如)PyPy 中工作,但我无法确认这一点。
错误页面上的开发人员不确定是否要更改文档样式或实现,但我觉得这对他们来说都不是一个紧迫的问题。