【发布时间】:2012-05-23 17:56:09
【问题描述】:
为什么python在函数调用中只允许命名参数跟随元组解包表达式?
>>> def f(a,b,c):
... print a, b, c
...
>>> f(*(1,2),3)
File "<stdin>", line 1
SyntaxError: only named arguments may follow *expression
这仅仅是一种审美选择,还是在某些情况下允许这样做会导致一些歧义?
【问题讨论】:
-
你可以在解包之前将最后一个参数添加到元组中。
-
一个有趣的问题。我似乎记得围绕 python 2.5 更改的规则 - 你曾经 必须 将
*args和**kwargs放在最后,但我找不到更改日志条目。
标签: python tuples iterable-unpacking