默认参数和命名关键字参数(1)

当函数的参数不确定时,可以使用*args**kwargs*args没有key值,**kwargskey值。不确定的意思可以是有,有几个,也可以是没有。*args可以当作可容纳多个变量组成的list**kwargs可以当作容纳多个keyvaluedictionary
just use "*" to collect all remaining arguments into a tuple

*args称之为Non-keyword Variable Arguments
**kwargs称之为keyword Variable Arguments

#!/usr/bin/env python  
#encoding: utf-8  
#usage: show how to use *args and **kwargs  
  
  
def func_var_args(farg, *args):  
    print 'arg:', farg  
    for value in args:  
        print 'another arg:', value  
  
def func_var_kwargs(farg, **kwargs):  
    print 'arg:', farg  
    for key in kwargs:  
        print 'another pair arg [%s: %s]' %(key, kwargs[key])  
  
if __name__ == '__main__':  
    func_var_args(1, 'two', 3)  
    print '========================================'  
    func_var_kwargs(farg=1, myarg2='two', myarg3=3)  
    print '========================================'  
    #不带参数也是可以的  
    func_var_args(1)  
    print '========================================'  
    func_var_kwargs(2)  
posted @ 2018-03-04 14:47  hzhang_NJU  阅读(145)  评论(0编辑  收藏  举报