python(1)

1.def foo(*args, **kwargs):  

       print 'args = ', args    

       print 'kwargs = ', kwargs


   foo(1,2,3,4)
   foo(a=1,b=2,c=3)
   foo(1,2,3,4, a=1,b=2,c=3)

*args是非关键字参数,用于元组,**kw是关键字参数,用于字典(就是 = 的)
结果:  

args = (1, 2, 3, 4)
kwargs = {'a': 1, 'c': 3, 'b': 2}

调用:

可变参数既可以直接传入:func(1, 2, 3),又可以先组装list或tuple,再通过*args传入:func(*(1, 2, 3))

关键字参数既可以直接传入:func(a=1, b=2),又可以先组装dict,再通过**kw传入:func(**{'a': 1, 'b': 2})

原文地址:https://www.cnblogs.com/jay--zhang/p/6496036.html