python参数 *args 和 **kwargs
* 用来传递任意个无名字参数,这些参数会一个Tuple的形式访问。
**用来处理传递任意个有名字的参数,这些参数用dict来访问。
1 def testArg(a,*args,**kwargs): 2 print a,'---',args,'-----',kwargs 3 4 testArg(1,(1,2,4),4,b=1)
打印结果:
1 --- ((1, 2, 4), 4) ----- {'b': 1}
值得说明的是: * 或者 ** 必须在参数的最后面,也是就说 def testArg(a,*args,b,**kwargs):是不允许的