看看下面這個例子(使用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