一直不太理解python中的变长参数,网上找了一些资料发现变长参数在python中直接当元组(tuple)或字典(dict),这样就非常好理解,并且传参和在函数中取值也就很清楚了。
*args -- tuple
**kargs -- dict
上代码:
#coding:utf8 def powersum(power, **args): print type(args) print "args is %s" % args for k,v in args.items(): print k,":",v print y = {'age':18, 'name':'xxmcf'} powersum(0, **y) powersum(0, args=y) powersum(0, aaa=111, bbb=111)结果:
直接传字典是可以的, 以键值对的形式传会认为是字典,但把字典赋给参数名,并不会将字典展开,而是认为是一个键值对,如上
powersum(0, args=y),虽然y是一个字典,但会认为 args:y是一个键值对