*args
我正在阅读一个解释拆包(和)的在线文档**kwargs
。遵循两个断言感到困惑,不确定为什么第二个函数无效。任何人都可以帮助我理解原因吗?
def f(x, y, z):
return [x, y, z]
t = (3,)
d = {"z": 4}
assert f(2, *t, **d) == [2, 3, 4]
assert f(x=2, *t, **d) == [2, 3, 4] # TypeError: f() got multiple values for argument 'x'
参考 https://caisbalderas.com/blog/python-function-unpacking-args-and-kwargs/