Python函数中*args和**kwargs来传递变长参数的用法
单星号形式(*args)用来传递非命名键可变参数列表。双星号形式(**kwargs)用来传递键值可变参数列表。
下面的例子,传递了一个固定位置参数和两个变长参数。
deftest_var_args(farg,*args): print"formalarg:",farg forarginargs: print"anotherarg:",arg test_var_args(1,"two",3)
结果如下:
formalarg:1 anotherarg:two anotherarg:3
这个例子用来展示键值对形式的可变参数列表,一个固定参数和两个键值参数。
deftest_var_kwargs(farg,**kwargs): print"formalarg:",farg forkeyinkwargs: print"anotherkeywordarg:%s:%s"%(key,kwargs[key]) test_var_kwargs(farg=1,myarg2="two",myarg3=3)
执行结果:
formalarg:1 anotherkeywordarg:myarg2:two anotherkeywordarg:myarg3:3
调用函数时,使用*argsand**kwargs
这种语法不仅仅是在函数定义的时候可以使用,调用函数的时候也可以使用
deftest_var_args_call(arg1,arg2,arg3):
print"arg1:",arg1
print"arg2:",arg2
print"arg3:",arg3
args=("two",3)
test_var_args_call(1,*args)
执行结果如下:
arg1:1 arg2:two arg3:3
键值对方式:
deftest_var_args_call(arg1,arg2,arg3):
print"arg1:",arg1
print"arg2:",arg2
print"arg3:",arg3
kwargs={"arg3":3,"arg2":"two"}
test_var_args_call(1,**kwargs)
结果如下:
arg1:1 arg2:two arg3:3
热门推荐
10 儿子立冬祝福语简短独特
11 对当兵的祝福语简短
12 侄儿高考试祝福语简短
13 伴郎红包祝福语朋友简短
14 媳妇生日简短祝福语朋友
15 公司年会祝福语简短最好
16 元旦感恩祝福语简短大全
17 红包祝福语简短10字
18 周六早晨祝福语简短