1. 程式人生 > >大話Python中*args和**kargs的使用

大話Python中*args和**kargs的使用

print rgs 使用 logs python spa key bsp value

對於初學者來說,看到*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

大話Python中*args和**kargs的使用