看看下面这个例子(使用Python 2.7.6):函数参数拆包错误
>>> def func(a, b, c, d):
print a, b, c, d
>>> func(1, c = 3, *(2,), **{'d':4})
1 2 3 4
到这里,这是好的。但是,为什么下面的通话失败了?
>>> func(1, b = 3, *(2,), **{'d':4})
Traceback (most recent call last):
File "<pyshell#69>", line 1, in <module>
func(1, b = 3, *(2,), **{'d':4})
TypeError: func() got multiple values for keyword argument 'b'
你使用的是什么版本的Python?它很重要。 – rdodev
Python 2.7不会引发错误。 – karthikr
我正在使用python 2.7.6 – user3022222