python函数参数前面单星号(*)和双星号(**)的区别

在python的函数中经常能看到输入的参数前面有一个或者两个星号,例如:

1
2
def (param1, *param2):
def bar(param1, **param2):

这两种用法其实都是用来将任意个数的参数导入到python函数中。

单星号*agrs是将所以参数以元组(tuple)的形式导入;

双星号**kwargs将参数以字典的形式导入;