【发布时间】:2020-04-30 08:48:40
【问题描述】:
每次我尝试为默认参数分配一个值时,同时使用 *args 时,都会引发错误:TypeError: "got multiple values for argument"。
def test(a,b, c=3, *args):
pass
args = [1,2,3]
test(1,2,c=3, *args)
.
TypeError: test() got multiple values for argument 'c'
起初我以为我在这里找到了答案: TypeError: got multiple values for argument 但事实证明,该问题中的第一个参数被明确覆盖,所以在我自己的示例中,这与 test(1,2, a=3, *args) 相同,其中 a 将被赋予值 1 和3. 但是这里不是这样的。
这个问题可能与这个"got multiple values for keyword argument" when using *args, **kwargs in a python function 重复,但老实说,这个问题中有很多细节超出了我所要求的范围,我真的无法理解。因此,如果这是重复的,那么它会将所有内容从另一个问题抽象到实际问题本身。
【问题讨论】:
标签: python parameters arguments parameter-passing