*args
与**kwargs
的区别,两者都是python中的可变参数。
*args
表示任何多个无名参数,它本质是一个元组(tuple);
**kwargs
表示关键字参数,它本质上是一个字典(dict);
并且同时使用args和**kwargs时,必须args参数列要在**kwargs前。
例子:
def fun(*args,**kwargs):
print('args=', args)
print('kwargs=',kwargs)
fun(1,2,3,4,A='a',B='b',C='c',D='d')
输出结果:
args= (1, 2, 3, 4)
kwargs= {'A': 'a', 'B': 'b', 'C': 'c', 'D': 'd'}