*args的使用方法
*args 用来将参数打包成tuple给函数体调用。
例1:
>>> def funx(*args):
print (args,type(args))
>>> funx(1,2,3,4)
(1, 2, 3, 4) <class 'tuple'>
>>> funx(1)
(1,) <class 'tuple'>
>>>
例2:
>>> def funy(a,b,*args):
print(a,b,args)
>>> funy(1,2,3,4,5)
1 2 (3, 4, 5)
**kwargs的使用方法
**kwargs 打包关键字参数成dict给函数体调用。
例1:
>>> def funz(**kwargs):
print(kwargs,type(kwargs))
>>> funz(a = 2)
{'a': 2} <class 'dict'>
>>> funz(a = 2,b = 3,c = 3)
{'a': 2, 'b': 3, 'c': 3} <class 'dict'>
注意点
参数arg、*args、**kwargs三个参数的位置必须是一定的。必须是(arg,*args,**kwargs)这个顺序,否则程序会报错。
>>> def funs(arg,*args,**kwargs):
print(args,args,kwargs)
>>> funs(1,2,3,4,5,a=6,b=7,c=8)
(2, 3, 4, 5) (2, 3, 4, 5) {'a': 6, 'b': 7, 'c': 8}