Python函数定义时**kwargs参数是什么意思?

1 个回答|235 次阅读
Coco老师 - 公众号:量位学堂Qbit编程
擅长:编程教育

当我们调用函数的时候,如果不知道要传递的关键字参数的个数,就可以在参数名称前面添加两个星号**,这样,函数将接收参数字典,并可以访问这些字典项。

上面提到关键字参数,那什么又是关键字参数呢?

当我们调用函数传递参数的时候,使用键=值的这种语法传递参数,就是关键字参数,具体就是“参数名=参数值”得语法形式,例如:

def my_function(fruit1,fruit2,fruit3):
  print("The fruit name is " + fruit2)
#调用函数
my_function(fruit1="apple",fruit2="orange",fruit3="banana")
fruit1="apple",fruit2="orange",fruit3="banana" 这就是关键字参数,键=值的语法形式。

但是当我们连要传递的关键字参数的个数都不确定的时候,就可以使用**kwargs的形式。表示任意的Kword。

例如:

def my_function(**kwargs):
  print("The fruit name is " + kwargs["fruit2"])
#调用函数
my_function(fruit1="apple",fruit2="orange")

执行结果:

The fruit name is orange