相关疑难解决方法(0)

Python中解包参数列表/ dict案例中的关键字参数

对于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})
Run Code Online (Sandbox Code Playgroud)
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})
Run Code Online (Sandbox Code Playgroud)
TypeError: hello() got multiple values for keyword argument 'x'

为什么是这样?

python argument-passing

5
推荐指数
1
解决办法
1856
查看次数

标签 统计

argument-passing ×1

python ×1