简单谈谈Python中函数的可变参数


Posted in Python onSeptember 02, 2016

前言

在Python中定义函数,可以用必选参数、默认参数、可变参数和关键字参数,这4种参数都可以一起使用,或者只用其中某些,但是请注意,参数定义的顺序必须是:必选参数、默认参数、可变参数和关键字参数。

可变参数( * )

可变参数,顾名思义,它的参数是可变的,比如列表、字典等。如果我们需要函数处理可变数量参数的时候,就可以使用可变参数。

我们在查看很多Python源码时,经常会看到 某函数(*参数1, **参数2)这样的函数定义,这个*参数和**参数就是可变参数,一时会让人有点费解。其实只要把函数可变参数的定义搞清楚了,就不难理解了。

当我们不知道需要用几个参数来定义函数的时候,可变参数就可以大展手脚了。

在Python里,带 * 的参数就是用来接受可变数量参数的。

如果一个函数定义如下:

def functionTest(*args): 
 .... 
 .... 
 ....

调用时我们可以的这样调用:

functionTest(1) 
或者 
functionTest(1,2) 
或者 
functionTest(1,2,3)

后面可以传入多个参数。

看段实例代码,观察下*是怎么具体应用的吧:

def get_sum(*numbers): 
 sum = 0 
 for n in numbers: 
  sum += n 
 return sum 
  
#在这里写下你的代码来调用get_sum来求5个数字的和,并输出这个结果 
print (get_sum(1,2,3,4,5))

结果会是什么呢?大家可以自己动手操作起来看下,以就是关于Python中函数可变参数的全部内容,希望这篇文章对大家学习或使用python能有所帮助,如果有疑问可以留言交流。

Python 相关文章推荐
Python调用命令行进度条的方法
May 05 Python
理解python正则表达式
Jan 15 Python
基于Python实现的微信好友数据分析
Feb 26 Python
Python 删除整个文本中的空格,并实现按行显示
Jul 24 Python
python实现自动登录
Sep 17 Python
python画图把时间作为横坐标的方法
Jul 07 Python
Python实现图片批量加入水印代码实例
Nov 30 Python
Python openpyxl模块原理及用法解析
Jan 19 Python
使用Python对Dicom文件进行读取与写入的实现
Apr 20 Python
python实现俄罗斯方块小游戏
Apr 24 Python
使用numpy nonzero 找出非0元素
May 14 Python
Python中的程序流程控制语句
Feb 24 Python
Python实现自动添加脚本头信息的示例代码
Sep 02 #Python
利用Python获取操作系统信息实例
Sep 02 #Python
好用的Python编辑器WingIDE的使用经验总结
Aug 31 #Python
Linux下为不同版本python安装第三方库
Aug 31 #Python
Python中的左斜杠、右斜杠(正斜杠和反斜杠)
Aug 30 #Python
分享Python开发中要注意的十个小贴士
Aug 30 #Python
Python将图片批量从png格式转换至WebP格式
Aug 22 #Python
You might like
使用NetBeans + Xdebug调试PHP程序的方法
2011/04/12 PHP
PHP fopen()和 file_get_contents()应用与差异介绍
2014/03/19 PHP
从零开始学YII2框架(三)扩展插件yii2-gird
2014/08/20 PHP
推荐25款php中非常有用的类库
2014/09/29 PHP
thinkPHP商城公告功能开发问题分析
2016/12/01 PHP
PHP+JavaScript实现无刷新上传图片
2017/02/21 PHP
一个XML格式数据转换为图表的例子
2010/02/09 Javascript
onclick与listeners的执行先后问题详细解剖
2013/01/07 Javascript
Bootstrap开发实战之第一次接触Bootstrap
2016/06/02 Javascript
JS输出空格的简单实现方法
2016/09/08 Javascript
BootStrap Table 获取同行不同列元素的方法
2016/12/19 Javascript
js事件委托和事件代理案例分享
2017/07/25 Javascript
JavaScript面试中常考的字符串操作方法大全(包含ES6)
2020/05/10 Javascript
JavaScript实现像雪花一样的Hexaflake分形
2020/07/07 Javascript
[00:17]游戏风云独家报道:DD赛后说出数字秘密 吓死你们啊!
2014/07/13 DOTA
Python标准库之sqlite3使用实例
2014/11/25 Python
python套接字流重定向实例汇总
2016/03/03 Python
TensorFlow在MAC环境下的安装及环境搭建
2017/11/14 Python
Python实现备份MySQL数据库的方法示例
2018/01/11 Python
python3如何将docx转换成pdf文件
2018/03/23 Python
Python贪心算法实例小结
2018/04/22 Python
对json字符串与python字符串的不同之处详解
2018/12/19 Python
pycharm访问mysql数据库的方法步骤
2019/06/18 Python
Python Tkinter模块 GUI 可视化实例
2019/11/20 Python
用css3制作纸张效果(外翻卷角)
2013/02/01 HTML / CSS
详解HTML5中的拖放事件(Drag 和 drop)
2016/11/14 HTML / CSS
小学生班会演讲稿
2014/01/09 职场文书
《欢乐的泼水节》教学反思
2014/04/22 职场文书
小学模范班主任事迹材料
2014/05/13 职场文书
企业年度评优方案
2014/06/02 职场文书
市场营销专业毕业生求职信
2014/07/21 职场文书
2015年党支部公开承诺书
2015/01/22 职场文书
小学教师党员承诺书
2015/04/27 职场文书
老干部座谈会主持词
2015/07/03 职场文书
2015年国培研修感言
2015/08/01 职场文书
MySQL修炼之联结与集合浅析
2021/10/05 MySQL