Python函数*args与**kwargs的用法

来源:互联网 发布:芥末留学网 知乎 编辑:程序博客网 时间:2024/06/04 19:47

首先明白向python函数传递参数的方式有两种:
位置参数(positional argument)
关键词参数(keyword argument)

现在再来看*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'}
0 0