`
huiqinbo
  • 浏览: 332374 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

 
阅读更多

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

[注意]
[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] 注意普通参数与*和**参数公用的情况,一般将*和**参数放在参数列表最后。

[元组的情形]

  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   

[字典的情形]

 

  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中的输出结果

 

 

参照:http://blog.csdn.net/delphiwcdj/article/details/5746560

分享到:
评论

相关推荐

    Python -函数的返回值-接收返回元组函数的方式

    Python解释器易于扩展,可以使用C语言或C++(或者其他可以通过C调用的语言)扩展新的功能和数据类型。Python也可用于可定制化软件中的扩展程序语言。Python丰富的标准库,提供了适用于各个主要系统平台的源码或机器...

    python中前缀运算符 *和 **的用法示例详解

    这篇主要探讨 ** 和 * 前缀运算符,**在变量之前使用的*and **运算符. 一个星(*):表示接收的参数作为元组来处理 两个星(**):表示接收的参数作为字典来处理 简单示例: >>> numbers = [2, 1, 3, 4, 7] >>> ...

    Python程序设计:元组的常用操作.pptx

    本案例主要针对元组的基本使用的考察,元组是不可变序列,创建元组可以通过()创建,也可以通过tuple()构造函数创建,元组的索引规则和列表相同,但是不能索引赋值。 任务 菜单生成器 任务目标 掌握元组的概念与创建 ...

    题目:编写一个Python函数,实现两个整数的加法运算,并处理可能的溢出情况

    此外,函数还需要能够处理列表和元组作为输入,将列表和元组中的所有元素转换为其对应的ASCII码值,并将这些ASCII码值相加。 输入说明:函数接收两个参数,第一个参数可以是整数、字符串、列表或元组,第二个参数也...

    简明python教程(chm)

    在函数中接收元组和列表 lambda形式 使用lambda形式 exec和eval语句 assert语句 repr函数 概括 16. 接下来学习什么? 图形软件 GUI工具概括 探索更多内容 概括 A. 自由/开放源码软件(FLOSS) B. ...

    Python中文手册

    更多Python的内容 <br>特殊的方法 <br>单语句块 <br>列表综合 <br> 使用列表综合 <br>在函数中接收元组和列表 <br>lambda形式 <br> 使用lambda形式 <br>exec和eval语句 <br>...

    Python中对元组和列表按条件进行排序的方法示例

    在python中对一个元组排序 我的同事Axel Hecht 给我展示了一些我所不...默认情况下内置的sort和sorted函数接收的参数是元组时,他将会先按元组的第一个元素进行排序再按第二个元素进行排序。 然而,注意到结果中(0, ‘B

    简明python教程

    在函数中接收元组和列表 lambda形式 使用lambda形式 exec和eval语句 assert语句 repr函数 概括 16. 接下来学习什么? 图形软件 GUI工具概括 探索更多内容 概括 A. 自由/开放源码软件(FLOSS) B. 关于...

    Python函数.zip

    2.编写函数f(s), 接收字符串参数, 返回一个元组,元组的第一个值为大写字母的个数, 第二个值为小写字母个数。调用函数f(s)在屏幕上输出字符串"Hello Betty and Tom !"中大写字母和小写字母的个数。 3.编写函数min_...

    python参数传递的*args和**kwargs

    主要是 用来表示函数接收可变长度的非关键字参数列表作为函数的输入。 **kwargs:表示的就是形参中按照关键字传值把多余的传值以字典的方式呈现 主要是 用来表示函数接收可变长度的关键字参数列表作为函数的输入。...

    python简明教程.chm

    在函数中接收元组和列表 lambda形式 使用lambda形式 exec和eval语句 assert语句 repr函数 概括 16. 接下来学习什么? 图形软件 GUI工具概括 探索更多内容 概括 A. 自由/开放源码软件(FLOSS) B. ...

    Python简明教程

    在函数中接收元组和列表 lambda形式 使用lambda形式 exec和eval语句 assert语句 repr函数 概括 16. 接下来学习什么? 图形软件 GUI工具概括 探索更多内容 概括 A. 自由/开放源码软件(FLOSS) B. 关于本书 后记 ...

    python的重点和难点是什么-Python基础入门的难点重点详细教程,强烈建议收藏.pdf

    python的重点和难点是什么_Python基础⼊门的难点... 在刷题的过程中,map()函数通常可以结合输⼊⼀起使⽤,例如在⼀⾏中输⼊3个整数,可⽤如下语句:a,b,c = map(int, input().split()) reduce()函数 reduce()函数接收

    测量程序编制 - python 31数据类型:Tuple(元组) - 装包与拆包.pptx

    Python中,元组装包拆包是自动的,不需要任何函数,导致很多人对于函数返回值一会有括号一会没括号非常迷惑 a,b,c=1,2,3 #等价于 a,b,c=(1,2,3) print(a,type(a)) #因为等号左边只有1个变量,而等号右边有3个值, #...

    Python核心编程第二版

     2.8 列表和元组   2.9 字典   2.10 代码块及缩进对齐   2.11 if语句   2.12 while循环   2.13 for循环和range()内建函数   2.14 列表解析   2.15 文件和内建函数open()、file()   ...

    python函数不定长参数使用方法解析

    这篇文章主要介绍了python函数不定长参数使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 pathon中的函数可以使用不定长参数,可以用参数*args接收...

    Python中函数参数匹配模型详解

    当我们的函数接收参数为任意个,或者不能确定参数个数时,我们,可以利用 * 来定义任意数目的参数,这个函数调用时,其所有不匹配的位置参数会被赋值为元组,我们可以在函数利用循环或索引进行使用 def f(*args): ...

    基于Python 中函数的 收集参数 机制

    定义函数的时候,在参数前加了一个 * 号,函数可以接收零个或多个值作为参数。返回结果是一个元组。 传递零个参数时函数并不报错,而是返回一个空元组。但以上这种方法也有局限性,它不能收集关键字参数。 对关键字...

    Python编程入门经典

    17.7 在C代码中使用Python 对象 342 17.8 本章小结 345 17.9 习题 346 第18章 数值编程 347 18.1 Python语言中的数值 347 18.1.1 整数 348 18.1.2 长整数 348 18.1.3 浮点数 349 18.1.4 格式化数值 350 18.1.5 作为...

    Python核心编程第二版(ok)

     2.8 列表和元组   2.9 字典   2.10 代码块及缩进对齐   2.11 if语句   2.12 while循环   2.13 for循环和range()内建函数   2.14 列表解析   2.15 文件和内建函数open().cfile()   ...

Global site tag (gtag.js) - Google Analytics