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的用法,希望能对大家有所帮助。
神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试