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, )
輸出: