简单谈谈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 相关文章推荐
Python3连接MySQL(pymysql)模拟转账实现代码
May 24 Python
python 计算文件的md5值实例
Jan 13 Python
python3之微信文章爬虫实例讲解
Jul 12 Python
python自动发送邮件脚本
Jun 20 Python
Python函数any()和all()的用法及区别介绍
Sep 14 Python
Python初学者需要注意的事项小结(python2与python3)
Sep 26 Python
对python中xlsx,csv以及json文件的相互转化方法详解
Dec 25 Python
关于Pycharm无法debug问题的总结
Jan 19 Python
Python函数装饰器常见使用方法实例详解
Mar 30 Python
Python PIL库图片灰化处理
Apr 07 Python
python argparse传入布尔参数false不生效的解决
Apr 20 Python
使用scrapy实现增量式爬取方式
Jun 21 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使用CURL伪造IP和来源实例详解
2015/01/15 PHP
php中get_defined_constants函数用法实例分析
2015/05/12 PHP
WordPress中用于获取搜索表单的PHP函数使用解析
2016/01/05 PHP
PHP的Laravel框架结合MySQL与Redis数据库的使用部署
2016/03/21 PHP
PHP不使用递归的无限级分类简单实例
2016/11/05 PHP
iis 7下安装laravel 5.4环境的方法教程
2017/06/14 PHP
jQuery AnythingSlider滑动效果插件
2010/02/07 Javascript
你必须知道的JavaScript 变量命名规则详解
2013/05/07 Javascript
JQuery显示隐藏页面元素的方法总结
2015/04/16 Javascript
简单的jQuery banner图片轮播实例代码
2016/03/04 Javascript
Vue.js实现一个漂亮、灵活、可复用的提示组件示例
2017/03/17 Javascript
Vue页面骨架屏的实现方法
2018/05/22 Javascript
ES6 迭代器与可迭代对象的实现
2019/02/11 Javascript
手把手教你使用TypeScript开发Node.js应用
2019/05/06 Javascript
vue+mock.js实现前后端分离
2019/07/24 Javascript
vue+webpack 更换主题N种方案优劣分析
2019/10/28 Javascript
[01:11:21]DOTA2-DPC中国联赛 正赛 VG vs Elephant BO3 第一场 3月6日
2021/03/11 DOTA
python Crypto模块的安装与使用方法
2017/12/21 Python
简单实现python数独游戏
2018/03/30 Python
Python numpy.array()生成相同元素数组的示例
2018/11/12 Python
python实现词法分析器
2019/01/31 Python
Django框架模型简单介绍与使用分析
2019/07/18 Python
python中web框架的自定义创建
2019/09/08 Python
pytorch获取模型某一层参数名及参数值方式
2019/12/30 Python
Python如何使用字符打印照片
2020/01/03 Python
python数据爬下来保存的位置
2020/02/17 Python
解决keras使用cov1D函数的输入问题
2020/06/29 Python
PyTorch 导数应用的使用教程
2020/08/31 Python
CSS3实现淘宝留白的方法
2020/06/05 HTML / CSS
Java面试题:请说出如下代码的输出结果
2013/04/22 面试题
会计实习生工作总结的自我评价
2013/10/07 职场文书
信息管理专业推荐信
2013/10/29 职场文书
2014年圣诞节寄语
2014/12/08 职场文书
教师“一帮一”结对子活动总结
2015/05/07 职场文书
公安干警正风肃纪心得体会
2016/01/15 职场文书
pytorch查看网络参数显存占用量等操作
2021/05/12 Python