在Python中经常会见到以下一些用法,如在函数调用中fun1(*vars)
|fun2(**vars)
,以及在函数定义中如def fun1(*param)
or def fun2(**param)
这些形式。下面就针对这些情况使用具体例子进行一下说明。
对于函数调用中的*
和**
主要功能是一个函数解压传入的过程
|
|
对于函数定义中的*
和**
主要功能是将任意个数的参数导入到python函数中123456789101112131415161718192021222324def foo(param1, *param2): #将所以参数以元组(tuple)的形式导入 print(param1) print(param2)def bar(param1, **param2): #将参数以字典的形式导入 print(param1) print(param2)def foo_bar(param1,*param2,**param3): #上面两个可以混合使用 print(param1) print(param2) print(param3)foo(1,2,3)#1#(2, 3)bar(1,a=2,b=3)#1#{'a': 2, 'b': 3}foo_bar(1,2,3,a=4,b=5)#1#(2, 3)#{'a': 4, 'b': 5}