首页 > 代码库 > Python 不定长参数 *args, **dictargs

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

输出:

技术分享

 

Python 不定长参数 *args, **dictargs