對於初學者來說,看到*args和**kargs就頭大,到底它們有何用處,怎么使用?這篇文章將為你揭開可變參數的神秘面紗
1.*args 實質就是將函數傳入的參數,存儲在元組類型的變量args當中
def fun_var_args(farg, *args): print "arg:", farg for value in args: print "other arg:", value fun_var_args(1, "two", 3) arg: 1 other arg: two other arg: 3
2.第二種場景:
def fun_input_list(var1,var2,var3): print var1,var2,var3 var_list=["second",3] fun_input_list(1,*var_list) 1 second 3
3.**kargs 實質就是將函數的參數和值,存儲在字典類型的kargs變量中
def fun_var_kargs(farg,**kargs): print "firsr value %s"% farg for key in kargs.keys(): print kargs[key] fun_var_kargs(1,var1="second",var2=35,var3="third") firsr value 1 second third 35
4.**kargs的第二種使用場景
def fun_input_dic(var1,var2=2,var3=3): print var1,var2,var3 dic_input={"var2":2,"var3":"third"} fun_input_dic(1,**dic_input) 1 2 third