python中使用任意数量的关键字参数,在形参前添加双*

有时候,需要接受任意数量的实参,但预先不知道传递给函数的会是什么样的信息。在这种情况下,可将函数编写成能够接受任意数量的键值对--调用语句提供了多少就接受多少。

1、

>>> def a(**x):    ## 在形参前面添加双星,可以在实参中添加任意数量的关键字参数,两个*让python创建一个名为x的空字典,并将收到的所有名称值对都放到这个字典中。
    return x

>>> a(key1 = 100,key2 =200)
{'key1': 100, 'key2': 200}
>>> a(m = 500,n = 200, x = "aaaa")
{'m': 500, 'n': 200, 'x': 'aaaa'}

2、

>>> def a(x,y,**z):    ## 形参前添加两个星号,
    z["key1"] = x      ## 字典名为z,
    z["key2"] = y
    return z

>>> a(100,299,m = "aaa",n = 500)    ## 可以添加任意数量的关键字参数。
{'m': 'aaa', 'n': 500, 'key1': 100, 'key2': 299}
原文地址:https://www.cnblogs.com/liujiaxin2018/p/14514838.html