python中**kwargs怎么用?

python中**kwargs怎么用?
python中**kwargs怎么用?

(推荐操作系统:windows7系统、Python 3.9.1、DELL G3电脑。)

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,但这个是通常做法。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注