参考于:https://www.cnblogs.com/yunguoxiaoqiao/p/7626992.html
1. *args
可变参数,传入参数个数可变,将参数打包成元组
例1:
def function(*args):
print(args, type(args))
function(1)
def function(x, y, *args):
print(x, y, args)
function(1, 2, 3, 4, 5)
2. **kwargs
关键字参数,传入参数个数也可变,打包关键字参数成字典
例1:
def function(**kwargs):
print( kwargs, type(kwargs))
function(a=2)
例2:
def function(**kwargs):
print(kwargs)
function(a=1, b=2, c=3)
3. 参数位置
注意:参数arg、*args、**kwargs三个参数的位置必须是一定的。必须是(arg,*args,**kwargs)这个顺序,否则程序会报错。
def function(arg,*args,**kwargs):
print(arg,args,kwargs)
function(6,7,8,9,a=1, b=2, c=3)