-
定义解释
在函数定义def func(*args, **kw) 时,参数args 前有‘*’符号,表示该参数是可变参数,即参数的数量可以为任意个;
参数kw 前有‘**’符号,表示该参数是关键字参数,即参数带有key,且数量可以为任意个;
在函数调用 func(*args, **kw) 时,
参数args 前有‘*’符号,表示会把args展开,把其中的每个参数传入;args是一个list或tuple.
参数kw 前有‘**’符号,表示会把kw展开,把其中的每个key=value传入;kw是一个dict.
>>> def sum(x,y,z=10,**kw):
print (kw)
return x+y+z
>>> nms=[1,2]
>>> sts={'a':1,'z':20}
>>> print (sum(*nms,**sts)
{'a': 1}
23
>>> sts = {'a':1,'z1':20}
>>> print (sum(*nms,**sts) )
{'a': 1, 'z1': 20}
13
>>> sts = {'a':1,'z':20,'z1':30,'z2':40}
>>> print (sum(*nms,**sts) )
{'a': 1, 'z1': 30, 'z2': 40}
23
>>>
>>> sts = {'a':1,'z0':2,'z':20,'z1':30,'z2':40}
>>> print (sum(*nms,**sts) )
{'a': 1, 'z0': 2, 'z1': 30, 'z2': 40}
23
>>>
参考:https://blog.csdn.net/yeqiustu/article/details/80314704
https://blog.csdn.net/jingyi130705008/article/details/98493445