如果想让一个函数能接受任意个参数,我们就可以定义一个可变参数:

def fn(*args):print args

可变参数的名字前面有个 * 号,我们可以传入0个、1个或多个参数给可变参数:

>>> fn()
()
>>> fn('a')
('a',)
>>> fn('a', 'b')
('a', 'b')
>>> fn('a', 'b', 'c')
('a', 'b', 'c')

可变参数也不是很神秘,Python解释器会把传入的一组参数组装成一个tuple传递给可变参数,因此,在函数内部,直接把变量 args 看成一个 tuple 就好了。

定义可变参数的目的也是为了简化调用。假设我们要计算任意个数的平均值,就可以定义一个可变参数:

def average(*args):...

这样,在调用的时候,可以这样写:

>>> average()
0
>>> average(1, 2)
1.5
>>> average(1, 2, 2, 3, 4)
2.4

Python之定义可变参数相关推荐

  1. Python 函数(可变参数)

    在python函数中,可以定义可变参数,顾名思义,可变参数就是,传入的参数是可变的 例如,给定一组数字a,b,c...  请计算a2 + b2 + c2 + -- 要定义出这个函数,我们必须确定输入的 ...

  2. python函数参数定义顺序_18 Python - 函数定义与参数

    12 函数定义与参数 01函数 (1)定义: def 函数名(参数1,参数2--): 函数体 return 结果 (2)调用: 函数名(实际参数) (3)函数作用: 最大化代码重用, 最小化代码冗余, ...

  3. python 函数的可变参数

    python学习笔记,特做记录,分享给大家,希望对大家有所帮助. 可变参数 在Python函数中,还可以定义可变参数.顾名思义,可变参数就是传入的参数个数是可变的,可以是1个.2个到任意个,还可以是0 ...

  4. Python 函数的可变参数(*paramter与**paramter)的使用

    Python 函数的可变参数主要有 *paramter与**paramter 可变参数主要有 *paramter的作用 接受任意多个实际参数并放到一个元组中 def people(*people):f ...

  5. c语言宏定义可变参数,C语言可变参数宏定义方法

    http://blog.csdn.net/skyflying2012/article/details/38436711 2014 在GNU C中,宏可以接受可变数目的参数,就象函数一样,例如: 1 2 ...

  6. python函数中可变参数的传递方式是_详解Python函数可变参数定义及其参数传递方式...

    Python函数可变参数定义及其参数传递方式详解 python中 函数不定参数的定义形式如下 1. func(*args) 传入的参数为以元组形式存在args中,如: def func(*args): ...

  7. python函数中可变参数的传递方式是_Python函数可变参数定义及其参数传递方式实例详解...

    本文实例讲述了Python函数可变参数定义及其参数传递方式.分享给大家供大家参考.具体分析如下: python中 函数不定参数的定义形式如下: 1.func(*args) 传入的参数为以元组形式存在a ...

  8. python函数如何实现可变参数_python之函数定义可变参数(任意数量参数)

    原博文 2020-05-23 11:49 − python中函数可以定义任意数量的参数,即可变参数. 比如: def fun(*args): print args 在可变参数的名字前面加一个*号,即可 ...

  9. python函数中可变参数的传递方式_详解Python函数可变参数定义及其参数传递方式...

    Python函数可变参数定义及其参数传递方式详解 python中 函数不定参数的定义形式如下 1. func(*args) 传入的参数为以元组形式存在args中,如: def func(*args): ...

最新文章

  1. 全球最大规模学术不端调查显示,53%的博士生会从事有问题的研究
  2. 剑指offer:剪绳子
  3. 从 HTTP 到 HTTP/3 的发展简史
  4. 如何用python画出中国地图-用Python画中国地图(二)
  5. 《经济学人》:Facebook 的 Libra 项目预示着一场消费革命
  6. SecureCRT文件传输
  7. 1001 Calculate a + b
  8. JS 面向对象实例 prototype
  9. 14-Scala之隐式转换
  10. durpal是否支持php7,drupal7 的安装方法
  11. 模板引擎 Velocity
  12. Java 核心 API 必须掌握的程度
  13. maven学习记录一——maven介绍及入门
  14. 二十九 Python分布式爬虫打造搜索引擎Scrapy精讲—selenium模块是一个python操作浏览器软件的一个模块,可以实现js动态网页请求...
  15. C语言数据结构、十字链表的分析及实现
  16. matlab求导/积分函数
  17. FileSplit:文件的子集--文件分割体
  18. MBTI职业性格在软件研发组织中不同岗位的分布研究
  19. 电脑设置一键锁屏方法
  20. Android开发常用代码

热门文章

  1. Linux-shell获取天气
  2. http.client.ResponseNotReady: Request-sent
  3. [luogu3198] 玩具装箱
  4. 记录在Ubuntu 18.04系统中安装Apache, MySQL和PHP环境
  5. 旅游规划(双权连通图)
  6. HTTP认证模式:Basic and Digest Access Authentication
  7. JS与Jquery学习笔记(一)
  8. C++基础系列五:自增自减操作符、箭头操作符、new和delete操作符
  9. xml文件的三种解析方式 DOM SAM PULL
  10. 敏捷开发免费管理工具——火星人预览之四:故事板,燃尽图,我的工作项