首页 > 代码库 > python的*args和**kwargs基础用法

python的*args和**kwargs基础用法

*args表示任何多个无名参数,它是一个tuple

**kwargs:传入的字典,就如:a=1,传入键值,默认就传入到**kwargs中,如下面代码:

class FOO:
    def __init__(self):
        pass
    def __call__(self,*args,**kwargs):
        print "__call__"
        for value in args:#直接显示内容
            print "anther,args:",value
        print u"以下是做累加计数"
        print  sum(args)+sum(kwargs.values())  #做累加

obj=FOO()
obj(1,2,3,a=1)#args作为容纳的变量的list

显示为:

技术分享

可以看到在1,2,3中是默认传入到了args中,a=1,就传入到**kwargs中,而7则是1+2+3+1的结果,

python的*args和**kwargs基础用法