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, )

输出:

 

posted @ 2017-02-18 13:14  KingCong  阅读(14990)  评论(0编辑  收藏  举报