【发布时间】:2011-03-09 15:24:43
【问题描述】:
对于 python,我可以使用如下解包参数。
def hello(x, *y, **z):
print 'x', x
print 'y', y
print 'z', z
hello(1, *[1,2,3], a=1,b=2,c=3)
hello(1, *(1,2,3), **{'a':1,'b':2,'c':3})
x = 1
y = (1, 2, 3)
z = {'a': 1, 'c': 3, 'b': 2}
但是,如果我按如下方式使用关键字参数,则会出现错误。
hello(x=1, *(1,2,3), **{'a':1,'b':2,'c':3})
TypeError: hello() got multiple values for keyword argument 'x'
这是为什么?
【问题讨论】: