8dbe1ba5a1af75d6be8065197fb618f7.png

1、使用两个星号是收集关键字参数,可以将参数收集到一个字典中,参数的名字是字典的 “键”,对应的参数的值是字典的 “值”。请看下面的例子:>>> def print_kwargs(**kwargs):

...    print(kwargs)

...

>>> print_kwargs(a = 'lee',b = 'sir',c = 'man')

{'a': 'lee', 'b': 'sir', 'c': 'man'}

由例子可以看出,在函数内部,kwargs 是一个字典。

2、参数不是具有不确定型吗?如何知道参数到底会用什么样的方式传值?其实这个很好办,把 *args 和 **kwargs 综合起来就好了啊,请看下面的操作:>>> def print_all(x,y,*args,**kwargs):

...    print(x)

...    print(y)

...    print(args)

...    print(kwargs)

...

>>> print_all('lee',1234)

lee

1234

()

{}

>>> print_all('lee',1,2,3,4,5)

lee

1

(2, 3, 4, 5)

{}

>>> print_all('lee',1,2,3,4,5,like = 'python')

lee

1

(2, 3, 4, 5)

{'like': 'python'}

这样,我们就可以应对各种各样的参数请求了。当然,这里的关键字参数命名不一定要是 kwargs,但这个是通常做法。

以上就是python中**kwargs的用法,希望能对大家有所帮助。更多Python学习指路:

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐