python函数里面,一个*是可变参数的元祖,两个*是可变参数的字典

 python的函数中,有时会有类似*args,**keys这样的参数,代表的是可变参数,一个*表示元祖,两个*表示字典,就是说这个函数可以接受任何类型的参数,都不会报错,有些函数为了提高可用性,会加这样的参数描述,防止调用者传入不同类型的参数而报错

#encoding=utf-8
def fun(a,b=100,*args,**keys):
    print "args type=%s"%type(args)
    print "args=%s"%str(args)
    print "keys type=%s"%type(keys)
    print "keys=%s"%str(keys)
    print "name=%s"%str(keys['name'])
    print "sex=%s"%str(keys['sex'])
    sum=0
    for i in args:
        sum+=i
    print sum+a+b

fun(1,2,3,4,name='vip',age=19,sex='m')


结果:

原文地址:https://www.cnblogs.com/xiaxiaoxu/p/9739921.html