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')
結果: