Python在函数中使用*和**接收元组和列表

来源:互联网 发布:标签价格打印软件 编辑:程序博客网 时间:2024/06/05 07:06

当要使函数接收元组或字典形式的参数 的时候,有一种特殊的方法,它分别使用*和**前缀 。这种方法在函数需要获取可变数量的参数 的时候特别有用。

[注意] 
[1] 由于在args变量前有*前缀 ,所有多余的函数参数都会作为一个元组存储在args中 。如果使用的是**前缀 ,多余的参数则会被认为是一个字典的健/值对 。
[2] 对于def func(*args):,*args表示把传进来的位置参数存储在tuple(元组)args里面。例如,调用func(1, 2, 3) ,args就表示(1, 2, 3)这个元组 。
[3] 对于def func(**args):,**args表示把参数作为字典的健-值对存储在dict(字典)args里面。例如,调用func(a='I', b='am', c='wcdj') ,args就表示{'a':'I', 'b':'am', 'c':'wcdj'}这个字典 。
[4] 注意普通参数与*和**参数公用的情况,一般将*和**参数放在参数列表最后。

[元组的情形] 

[python] view plain copy
  1. #! /usr/bin/python  
  2. # Filename: tuple_function.py  
  3. # 2010-7-19 wcdj  
  4. def powersum(power, *args):  
  5.     '''''Return the sum of each argument raised 
  6. to specified power.'''  
  7.       
  8.     total=0  
  9.     for i in args:  
  10.         total+=pow(i,power)  
  11.     return total  
  12. print 'powersum(2, 3, 4)==', powersum(234)  
  13. print 'powersum(2, 10)==', powersum(210)  
  14. ########  
  15. # output  
  16. ########  
  17. powersum(234)==25  
  18. powersum(210)==100   

[字典的情形]

[python] view plain copy
  1. #! /usr/bin/python  
  2. # Filename: dict_function.py  
  3. # 2010-7-19 wcdj  
  4. def findad(username, **args):  
  5.     '''''find address by dictionary'''  
  6.     print 'Hello: ', username  
  7.     for name, address in args.items():  
  8.         print 'Contact %s at %s' % (name, address)  
  9. findad('wcdj', gerry='gerry@byteofpython.info', /  
  10.         wcdj='wcdj@126.com', yj='yj@gmail.com'  

在gvim中的输出结果:
gvim中的输出结果

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 狗狗感冒拉稀怎么办 住在亲戚家怎么办居住证 借住亲戚家怎么办暂住证 住在亲戚家里怎么办暂住证 舍不得花40块钱怎么办 空调铜管折弯了怎么办 沈阳学叉车证怎么办 幼儿老师教不会怎么办 学东西学不会怎么办 学不会汽修怎么办 挖掘机发票丢了怎么办 工会经费多缴怎么办 机票姓名错了怎么办 抹胸衣服下掉怎么办 穿抹胸很容易掉怎么办 抹胸衣服老掉怎么办 群里有低俗的人怎么办 老师不收礼物怎么办 发票跨年了怎么办 一用力就头疼怎么办 小孩天天玩游戏怎么办 手机分期人死了怎么办 人死了手机欠费怎么办 晚上想玩手机怎么办 孩子溺水后发烧怎么办 去台湾多次签证怎么办 怀孕不能玩手机怎么办 孕期天天玩手机怎么办 小孩子在家偷钱怎么办 小朋友被鸡抓伤怎么办 宝宝在学校不说怎么办? 宝宝不和小朋友玩怎么办 初中孩子不想上学怎么办 孩子装病不想上学怎么办 中学生叛逆不愿意上学怎么办 孩子去幼儿园哭闹怎么办 孩子哭闹不上学怎么办 孩子中班还哭怎么办 小孩子不爱上幼儿园怎么办 小孩子不爱去幼儿园怎么办 宝宝去幼儿园哭闹怎么办