当函数的参数不确定时,可以使用*args
和**kwargs
,*args
没有key
值,**kwargs
有key
值。不确定的意思可以是有,有几个,也可以是没有。*args
可以当作可容纳多个变量组成的list
, **kwargs
可以当作容纳多个key
和value
的dictionary
,
*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)