简单谈谈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 多进程通信模块的简单实现
Feb 20 Python
python实现从字典中删除元素的方法
May 04 Python
python爬虫获取多页天涯帖子
Feb 23 Python
Python实现的计算马氏距离算法示例
Apr 03 Python
利用Python将数值型特征进行离散化操作的方法
Nov 06 Python
Python爬取365好书中小说代码实例
Feb 28 Python
Python selenium使用autoIT上传附件过程详解
May 26 Python
python中upper是做什么用的
Jul 20 Python
python 常用日期处理-- datetime 模块的使用
Sep 02 Python
五种Python转义表示法
Nov 27 Python
PySwarms(Python粒子群优化工具包)的使用:GlobalBestPSO例子解析
Apr 05 Python
Django debug为True时,css加载失败的解决方案
Apr 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
关于PHP递归算法和应用方法介绍
2013/04/15 PHP
安装apache2.2.22配置php5.4(具体操作步骤)
2013/06/26 PHP
php使用正则表达式进行字符串搜索的方法
2015/03/23 PHP
PHP中通过trigger_error触发PHP错误示例
2015/06/23 PHP
laravel 5.1下php artisan migrate的使用注意事项总结
2017/06/07 PHP
PHP编程快速实现数组去重的方法详解
2017/07/22 PHP
客户端静态页面玩分页
2006/06/26 Javascript
妙用Jquery的val()方法
2012/06/27 Javascript
ExtJS下书写动态生成的xml(兼容火狐)
2013/04/02 Javascript
jquery获取当前点击对象的value方法
2014/02/28 Javascript
JS实现仿QQ聊天窗口抖动特效
2015/05/10 Javascript
深入理解JavaScript编程中的同步与异步机制
2015/06/24 Javascript
基于jquery实现select选择框内容左右移动添加删除代码分享
2015/08/25 Javascript
AngularJS 中的Promise --- $q服务详解
2016/09/14 Javascript
Angularjs中的页面访问权限怎么设置
2016/11/11 Javascript
详解angularjs利用ui-route异步加载组件
2017/05/21 Javascript
JS实现unicode和UTF-8之间的互相转换互转
2017/07/05 Javascript
Vue Element使用icon图标教程详解(第三方)
2018/02/07 Javascript
基于AngularJs select绑定数字类型的问题
2018/10/08 Javascript
解决cordova+vue 项目打包成APK应用遇到的问题
2019/05/10 Javascript
[06:11]2014DOTA2国际邀请赛 专访团结一心的VG战队
2014/07/21 DOTA
[01:06] DOTA2英雄背景故事第三期之秩序法则光之守卫
2020/07/07 DOTA
python基础_文件操作实现全文或单行替换的方法
2017/09/04 Python
python实现监控阿里云账户余额功能
2019/12/16 Python
用Python做一个久坐提醒小助手的示例代码
2020/02/10 Python
python数字类型math库原理解析
2020/03/02 Python
Python包资源下载路径报404解决方案
2020/11/05 Python
Jupyter Notebook 安装配置与使用详解
2021/01/06 Python
浅谈html5增强的页面元素
2016/06/14 HTML / CSS
设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。
2014/12/30 面试题
语文教学感言
2014/02/06 职场文书
通信工程求职信
2014/07/16 职场文书
生物工程专业求职信
2014/09/03 职场文书
质量保证书
2015/01/17 职场文书
vue3如何优雅的实现移动端登录注册模块
2021/03/29 Vue.js
PyTorch的Debug指南
2021/05/07 Python