python 参数传递
参数顺序:位置参数-》默认参数-》可变参数-》关键字参数
可变参数和关键字参数有打包和解包的功能,可变参数(*args)将未命名的参数打包成元组类型,(**kwargs)将命名的参数打包成字典类型
def test2(a,b,*args,**kwargs):
2 print("--test2--")
3 print(a)
4 print(b)
5 print(args)
6 print(kwargs)
7
8
9 def test1(a,b,*args,**kwargs):
10 print("--test1--")
11 print(a)
12 print(b)
13 print(args)
14 print(kwargs)
#test2(a,b,args,kwargs) 相当于test2(11,22,(33,44),{name="zhangsan",age="12"})
#test2(a,b,*args,kwargs)相当于test2(11,22,33,44,{"name":"zhangsan","age":"12"})
15 test2(a,b,*args,**kwargs)#相当于test2(11,22,33,44,name="zhangsan",age="12")
16
17 test1(11,22,33,44,name="zhangsan",age= "12")
~
输出结果
调用test1 时 将按位置参数,默认参数,可变参数和关键字参数一次传入,在test1中调用test2时,如果要原封不动的传参,就需要对可变参数和关键字参数进行解包。