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

复制代码

输出:

猜你喜欢

转载自blog.csdn.net/weixin_42670402/article/details/81951184
今日推荐