Python 不定长参数 *args, **dictargs
1. 加了星号(*)的变量名会存放所有未命名的变量参数,不能存放dict,否则报错。
如:
1 def multiple(arg, *args): 2 print "arg: ", arg 3 #打印不定长参数 4 for value in args: 5 print "other args:", value 6 7 if __name__ == '__main__': 8 multiple(1,'a',True)
输出:
2. 加了星号(**)的变量名会存放所有未命名的变量参数
1 def multiple2(**args): 2 #打印不定长参数 3 for key in args: 4 print key + ":" + bytes(args[key]) 5 6 if __name__ == '__main__': 7 multiple2(name='Amy', age=12, single=True)
输出
3. 有 *args 和 **dictargs:
1 def multiple(arg, *args, **dictargs): 2 print "arg: ", arg 3 #打印args 4 for value in args: 5 print "other args:", value 6 #打印dict类型的不定长参数 args 7 for key in dictargs: 8 print "dictargs:" + key + ":" + bytes(dictargs[key]) 9 10 if __name__ == '__main__': 11 multiple(1,'a',True, name='Amy',age=12, )
输出: