简单谈谈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代码调试的几种方法总结
Apr 15 Python
python对指定目录下文件进行批量重命名的方法
Apr 18 Python
python通过ssh-powershell监控windows的方法
Jun 02 Python
java中两个byte数组实现合并的示例
May 09 Python
django admin 后台实现三级联动的示例代码
Jun 22 Python
Python编程flask使用页面模版的方法
Dec 28 Python
pytorch 更改预训练模型网络结构的方法
Aug 19 Python
Python 转换RGB颜色值的示例代码
Oct 13 Python
Python基础教程之输入输出和运算符
Jul 26 Python
Python如何进行时间处理
Aug 06 Python
python的链表基础知识点
Sep 13 Python
Pycharm同步远程服务器调试的方法步骤
Nov 04 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/06/03 PHP
php中通过curl检测页面是否被百度收录
2013/09/27 PHP
ThinkPHP中url隐藏入口文件后接收alipay传值的方法
2014/12/09 PHP
php使用cookie显示用户上次访问网站日期的方法
2015/01/26 PHP
jQuery之排序组件的深入解析
2013/06/19 Javascript
JavaScript作用域链使用介绍
2013/08/29 Javascript
jquery基础知识第一讲之认识jquery
2016/03/17 Javascript
JavaScript中的跨浏览器事件操作的基本方法整理
2016/05/20 Javascript
JS中使用DOM来控制HTML元素
2016/07/31 Javascript
原生JS实现-星级评分系统的简单实例
2016/08/21 Javascript
JS简单生成由字母数字组合随机字符串示例
2018/05/25 Javascript
javascript、php关键字搜索函数的使用方法
2018/05/29 Javascript
vue中$set的使用(结合在实际应用中遇到的坑)
2018/07/10 Javascript
React中嵌套组件与被嵌套组件的通信过程
2018/07/11 Javascript
element-ui表格列金额显示两位小数的方法
2018/08/24 Javascript
AngularJs返回前一页面时刷新一次前面页面的方法
2018/10/09 Javascript
vue实现局部刷新的实现示例
2019/04/16 Javascript
bootstrap 日期控件 datepicker被弹出框dialog覆盖的解决办法
2019/07/09 Javascript
webpack打包html里面img后src为“[object Module]”问题
2019/12/22 Javascript
小程序角标的添加及绑定购物车数量进行实时更新的实现代码
2020/12/07 Javascript
python测试mysql写入性能完整实例
2018/01/18 Python
python如何在列表、字典中筛选数据
2018/03/19 Python
matplotlib给子图添加图例的方法
2018/08/03 Python
Python 处理图片像素点的实例
2019/01/08 Python
如何不用安装python就能在.NET里调用Python库
2019/07/12 Python
Django框架请求生命周期实现原理
2020/11/13 Python
澳洲CFL商城:CHEMIST FOR LESS(中文)
2021/02/28 全球购物
用C或者C++语言实现SOCKET通信
2015/02/24 面试题
合作意向协议书范本
2014/03/31 职场文书
大型会议策划方案
2014/05/17 职场文书
高中生思想道德自我评价
2015/03/09 职场文书
总经理年会致辞
2015/07/29 职场文书
百善孝为先:关于孝道的经典语录
2019/10/18 职场文书
2019年冬至:天冷暖人心的问候祝福语大全
2019/12/20 职场文书
python利用pandas分析学生期末成绩实例代码
2021/07/09 Python
TypeScript 内置高级类型编程示例
2022/09/23 Javascript