简单谈谈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转码问题的解决方法
Oct 07 Python
Python标准库内置函数complex介绍
Nov 25 Python
Python科学计算之Pandas详解
Jan 15 Python
Python使用修饰器执行函数的参数检查功能示例
Sep 26 Python
Python批量更改文件名的实现方法
Oct 29 Python
Python实战小程序利用matplotlib模块画图代码分享
Dec 09 Python
python 反向输出字符串的方法
Jul 16 Python
python wxpython 实现界面跳转功能
Dec 17 Python
提升python处理速度原理及方法实例
Dec 25 Python
python实现FTP文件传输的方法(服务器端和客户端)
Mar 20 Python
Python selenium模拟手动操作实现无人值守刷积分功能
May 13 Python
anaconda python3.8安装后降级
Jun 11 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 数组基础知识小结
2010/08/20 PHP
PHP中一个有趣的preg_replace函数详解
2018/08/15 PHP
Thinkphp5.0框架视图view的循环标签用法示例
2019/10/12 PHP
js数据验证集合、js email验证、js url验证、js长度验证、js数字验证等简单封装
2010/05/15 Javascript
Firefox中beforeunload事件的实现缺陷浅析
2012/05/03 Javascript
javascript 使用 NodeList需要注意的问题
2013/03/04 Javascript
图标线性回归斜着移动到指定的位置
2013/08/16 Javascript
基于JavaScript实现移动端TAB触屏切换效果
2015/10/20 Javascript
基于jQuery实现网页打印功能
2015/12/01 Javascript
js实现字符串和数组之间相互转换操作
2016/01/12 Javascript
原生javascript实现匀速运动动画效果
2016/02/26 Javascript
jQuery的内容过滤选择器学习教程
2016/04/18 Javascript
关于vue.js弹窗组件的知识点总结
2016/09/11 Javascript
React实现双向绑定示例代码
2016/09/19 Javascript
对Angular.js Controller如何进行单元测试
2016/10/25 Javascript
js生成随机颜色方法代码分享(三种)
2016/12/29 Javascript
详解微信开发中snsapi_base和snsapi_userinfo及静默授权的实现
2017/03/11 Javascript
详解CommonJS和ES6模块循环加载处理的区别
2018/12/26 Javascript
详解JavaScript中关于this指向的4种情况
2019/04/18 Javascript
解决vuex刷新状态初始化的方法实现
2019/08/15 Javascript
跟老齐学Python之关于类的初步认识
2014/10/11 Python
python将ansible配置转为json格式实例代码
2017/05/15 Python
详解TensorFlow查看ckpt中变量的几种方法
2018/06/19 Python
pyqt5 QProgressBar清空进度条的实例
2019/06/21 Python
Python PyInstaller安装和使用教程详解
2020/01/08 Python
详解anaconda安装步骤
2020/11/23 Python
html5 application cache遇到的严重问题
2012/12/26 HTML / CSS
美国CVS药店官网:CVS Pharmacy
2018/07/26 全球购物
Happy Plugs官网:瑞典无线耳机品牌
2020/07/16 全球购物
如何进行Linux分区优化
2016/09/13 面试题
init进程的作用
2015/08/20 面试题
基层党员对照检查材料
2014/09/24 职场文书
“向国旗敬礼”活动策划方案(4篇)
2014/09/27 职场文书
党支部班子“四风”问题自我剖析材料
2014/09/28 职场文书
捐款感谢信
2015/01/20 职场文书
Python连续赋值需要注意的一些问题
2021/06/03 Python