python *args和**kwargs

*args 用来将参数打包成tuple给函数体调用

def function(x, y, *args):
    print(x, y, args)

function(1, 2, 3, 4, 5)

output: 1,2,(3,4,5)

**kwargs 打包关键字参数成dict给函数体调用

 def function(**kwargs):
    print( kwargs, type(kwargs))

function(a=2)

output:{'a' : 2}

注意点:参数arg、*args、**kwargs三个参数的位置必须是一定的。必须是(arg,*args,**kwargs)这个顺序,否则程序会报错。