python中def func(*args, **kwargs)
在python的函数中经常能看到输入的参数前面有一个或者两个星号,例如:
def fun1(param1, *param2):
def fun2(param1, **param2):
def fun3(param1, *param2, **param3)
*args, **kwargs 其实都是用来将任意个数的参数导入到python函数中。
具体而言:
1、*args:将多个输入打包成元组输入函数中
def fun(param1, *param2):
print(param1)
print(param2)
if __name__ == '__main__':
fun(1,2,3,4,5)
---------------
out:
1
(2, 3, 4, 5)
分析:
(1) 由于形参param1只能接收一个实参,所以param=1被导入函数fun中
(2) 剩下的输入2,3,4,5被打包成元组赋给param2,所以*param2前面的*号表示这是一个元组,可以理解为是一个标志,便于编译器理解。如果没有这个
共有 0 条评论