Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python函数参数传递序列_Python_Argument Passing - Fatal编程技术网

Python函数参数传递序列

Python函数参数传递序列,python,argument-passing,Python,Argument Passing,以下代码不正确: def add(a, b, c): return a + b + c args = (2, 3) add(a = 1, *args) TypeError: add() got multiple values for keyword argument 'a' 我在中看到了一些示例,但我仍然不知道为什么会出现错误,有人能详细解释一下吗?应用参数时,Python首先填充位置参数,然后填充关键字参数 在您的特定情况下,首先应用*args,因此第一个位置参数传递2,第二个传递

以下代码不正确:

def add(a, b, c):
    return a + b + c
args = (2, 3)

add(a = 1, *args)
TypeError: add() got multiple values for keyword argument 'a'

我在中看到了一些示例,但我仍然不知道为什么会出现错误,有人能详细解释一下吗?

应用参数时,Python首先填充位置参数,然后填充关键字参数

在您的特定情况下,首先应用
*args
,因此第一个位置参数传递
2
,第二个传递
3
。第一个参数是
a

然后应用
a=1
,Python发现您已经对其应用了一个值


换句话说,当您将位置参数用作关键字参数时,Python不能也不会考虑位置参数。仅仅因为使用了
作为关键字参数,并不意味着它不适合作为位置参数。

应用参数时,Python首先填充位置参数,然后填充关键字参数

在您的特定情况下,首先应用
*args
,因此第一个位置参数传递
2
,第二个传递
3
。第一个参数是
a

然后应用
a=1
,Python发现您已经对其应用了一个值

换句话说,当您将位置参数用作关键字参数时,Python不能也不会考虑位置参数。仅仅因为您使用了
a
作为关键字参数,并不意味着它不适合作为位置参数。

我注意到a搜索会产生大量的点击率。这些问题适合你的情况吗?我注意到a搜索会产生大量的点击率。这些问题适合你的情况吗?