python *args **kwargs

def a(*args,**kwargs):

  print "args=",args

  print "kwargs=",kwargs

  print "==========="

a(1,2,3,4)

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

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

a('a',1,None,a=1,b="2",c=3)

结果为:

args=(1,2,3,4)

kwargs={}

=========

args=()

kwargs={'a':1,'b':2,'c':3}

========

args=(1,2,3,4)

kwargs={'a':1,‘b‘:2,'c':3}

=======

args=('a',1,None)

kwargs={'a':1,'b':2,'c':3}

 

总结:args*表示任意多个无名参数  python中的一个元组

  kwargs*表示关键字参数  是一个字典

同时使用时*args必须在**kwargs前面

比如a(a=1,1)是错误的

posted @ 2013-02-27 20:40  yangluwei  阅读(205)  评论(0)    收藏  举报