天天看点

Python中*args 和**kwargs

*args

位置参数 , 把参数收集到一个元组中,作为变量args。

def fun_var_args(farg, *args):  
    print "arg:", farg  
    for value in args:  
        print "another arg:", value  

fun_var_args(, "two", ) # *args可以当作可容纳多个变量组成的list

#result:
arg:   
another arg: two  
another arg:   
           

**kwargs

关键字参数 , 是一个正常的python字典类型,包含参数名和值。

def fun_var_kwargs(farg, **kwargs):  
    print "arg:", farg  
    for key in kwargs:  
        print "another keyword arg: %s: %s" % (key, kwargs[key])  


fun_var_kwargs(farg=, myarg2="two", myarg3=) # myarg2和myarg3被视为key, **kwargs可以当作容纳多个key和value的dictionary 

#result:
arg:   
another keyword arg: myarg2: two  
another keyword arg: myarg3: