往函数中以元组的形式传参数,使用*args;
往函数中以字典的形式传参数,使用**kwargs。
*args示例
>>> def f4(*args):
... print(type(args),args)
...
>>> f4()
<class 'tuple'> ()
>>> f4(1)
<class 'tuple'> (1,)
>>> f4(1,2)
<class 'tuple'> (1, 2)
>>> f4(1,2,4,'f','i',[1,2,4])
<class 'tuple'> (1, 2, 4, 'f', 'i', [1, 2, 4])
**kwargs示例
>>> def f5(**kwargs):
... print(type(kwargs),kwargs)
...
>>> f5()
<class 'dict'> {}
>>> f5(name = 'Tralia',age = 25)
<class 'dict'> {'name': 'Tralia', 'age': 25}
反过来,调用函数时使用是解包
def func(a,b,c,d):
print(a,b,c,d)
args = (1,2,3,4)
func(*args)#1 2 3 4
kargs = {'a': 'Tralia','b':2,'d':3 ,'c': 25}
func(**kargs)#Tralia 2 25 3