简单谈谈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 相关文章推荐
matplotlib设置legend图例代码示例
Dec 19 Python
Python实现PS图像明亮度调整效果示例
Jan 23 Python
tensorflow训练中出现nan问题的解决
Feb 10 Python
Python XlsxWriter模块Chart类用法实例分析
Mar 11 Python
Django实现微信小程序的登录验证功能并维护登录态
Jul 04 Python
Python 网络编程之TCP客户端/服务端功能示例【基于socket套接字】
Oct 12 Python
python3 字符串知识点学习笔记
Feb 08 Python
python用TensorFlow做图像识别的实现
Apr 21 Python
Python实现弹球小游戏
Aug 01 Python
解决PyCharm IDE环境下,执行unittest不生成测试报告的问题
Sep 03 Python
Python爬虫基础讲解之请求
May 13 Python
python人工智能human learn绘图可创建机器学习模型
Nov 23 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
PHP读写文件的方法(生成HTML)
2006/11/27 PHP
PHP无刷新上传文件实现代码
2011/09/19 PHP
php约瑟夫问题解决关于处死犯人的算法
2015/03/23 PHP
浅谈PHP中如何实现Hook机制
2017/11/14 PHP
由浅到深了解JavaScript类
2006/09/08 Javascript
JavaScript 开发规范要求(图文并茂)
2010/06/11 Javascript
jquery 隐藏与显示tr标签示例代码
2014/06/06 Javascript
Javascript writable特性介绍
2015/02/27 Javascript
RequireJS使用注意细节
2016/05/15 Javascript
Google 地图API Map()构造器详解
2016/08/06 Javascript
用js实现博客打赏功能
2016/10/24 Javascript
微信小程序 传值取值的几种方法总结
2017/01/16 Javascript
简单实现js放大镜效果
2017/07/24 Javascript
VUE2实现事件驱动弹窗示例
2017/10/21 Javascript
JS实现点击下拉菜单把选择的内容同步到input输入框内的实例
2018/01/23 Javascript
Node.js应用设置安全的沙箱环境
2018/04/23 Javascript
node前端模板引擎Jade之标签的基本写法
2018/05/11 Javascript
4 种滚动吸顶实现方式的比较
2019/04/09 Javascript
vue 关闭浏览器窗口的时候,清空localStorage的数据示例
2019/11/06 Javascript
js实现日历
2020/11/07 Javascript
[42:35]2018DOTA2亚洲邀请赛3月30日 小组赛A组 VG VS OpTic
2018/03/31 DOTA
[06:53]2018DOTA2国际邀请赛寻真——勇于创新的Vici Gaming
2018/08/14 DOTA
[43:24]VG vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
可用于监控 mysql Master Slave 状态的python代码
2013/02/10 Python
Python+matplotlib+numpy实现在不同平面的二维条形图
2018/01/02 Python
python内存监控工具memory_profiler和guppy的用法详解
2019/07/29 Python
Python列表的切片实例讲解
2019/08/20 Python
css3边框_动力节点Java学院整理
2017/07/11 HTML / CSS
html5中 media(播放器)的api使用指南
2014/12/26 HTML / CSS
.NET方向面试题
2014/11/20 面试题
工作所在部门证明
2014/09/21 职场文书
2014年国庆节演讲稿精选范文1500字
2014/09/25 职场文书
党员干部学习十八届五中全会精神心得体会
2016/01/05 职场文书
Python趣味爬虫之用Python实现智慧校园一键评教
2021/05/28 Python
Python操作CSV格式文件的方法大全
2021/07/15 Python
MySQL分区表实现按月份归类
2021/11/01 MySQL