Python函数返回不定数量的值方法


Posted in Python onJanuary 22, 2019

Python的函数是可以return多个值的,但其本质上还是返回单个值,只是利用了tuple的自动打包,将多个值打包成单个tuple返回。

使用代码验证:

def func_a():
 return 1, 2, 3, 4

if __name__ == '__main__':
 temp = func_a()
 print(type(temp))

运行结果,确认返回的是一个tuple,

<class 'tuple'>

稍微修改代码:

def func_a(*args):
 return 1, 2, 3, 4

if __name__ == '__main__':
 a, b, c, d = func_a()
 print(a, b, c, d)

代码中利用了tuple的自动解包,将tuple的值分别赋值给了a, b, c, d四个变量,实现返回多个值

既然知道实际上Python返回多个值的本质是返回tuple,再自动解包赋值给N个变量,那要实现返回任意多个值,只要手动返回一个tuple就可以了,tuple内元素的数量可以自定:

def func_a(*args):
 return tuple(arg * 2 for arg in args)

if __name__ == '__main__':
 a, b, c, d = func_a(1, 2, 3, 4)
 print(a, b, c, d)

代码中,将传入的参数值 x 2后,转换成tuple返回,再利用tuple的自动解包赋值给多个变量,从而实现函数返回不定数量的值。

这里需要注意,当返单个值时,不需要再手动返回一个tuple,所以修改代码如下:

def func_a(*args):
 temp = tuple(arg * 2 for arg in args)
 return temp if len(temp) > 1 else temp[0]

if __name__ == '__main__':
 a, b, c, d = func_a(1, 2, 3, 4)
 print(a, b, c, d)
 e = func_a('Hello')
 print(e)

以上这篇Python函数返回不定数量的值方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python学习笔记:字典的使用示例详解
Jun 13 Python
实例讲解Python设计模式编程之工厂方法模式的使用
Mar 02 Python
Python中用字符串调用函数或方法示例代码
Aug 04 Python
Python基于socket实现简单的即时通讯功能示例
Jan 16 Python
python如何把嵌套列表转变成普通列表
Mar 20 Python
浅谈Python里面小数点精度的控制
Jul 16 Python
python调用百度语音识别api
Aug 30 Python
基于Python+Appium实现京东双十一自动领金币功能
Oct 31 Python
详解Pandas 处理缺失值指令大全
Jul 30 Python
ffmpeg+Python实现B站MP4格式音频与视频的合并示例代码
Oct 21 Python
Python使用Pygame绘制时钟
Nov 29 Python
pytorch损失反向传播后梯度为none的问题
May 12 Python
python实现转盘效果 python实现轮盘抽奖游戏
Jan 22 #Python
Python Pillow Image Invert
Jan 22 #Python
python 通过类中一个方法获取另一个方法变量的实例
Jan 22 #Python
对Python 获取类的成员变量及临时变量的方法详解
Jan 22 #Python
Python实现深度遍历和广度遍历的方法
Jan 22 #Python
Python遍历文件夹 处理json文件的方法
Jan 22 #Python
Python多线程原理与用法实例剖析
Jan 22 #Python
You might like
php实现监听事件
2013/11/06 PHP
ThinkPHP单字母函数(快捷方法)使用总结
2014/07/23 PHP
php字符串替换函数substr_replace()用法实例
2015/03/17 PHP
一个可以随意添加多个序列的tag函数
2009/07/21 Javascript
js Array对象的扩展函数代码
2013/04/24 Javascript
jquery text(),val(),html()方法区别总结
2013/11/04 Javascript
js 获取元素下面所有li的两种方法
2014/04/14 Javascript
Nodejs学习笔记之Stream模块
2015/01/13 NodeJs
如何实现chrome浏览器关闭页面时弹出“确定要离开此面吗?”
2015/03/05 Javascript
js调出上下文菜单的实例
2015/12/17 Javascript
JavaScript绑定事件监听函数的通用方法
2016/05/14 Javascript
微信小程序 vidao实现视频播放和弹幕的功能
2016/11/02 Javascript
angular中实现控制器之间传递参数的方式
2017/04/24 Javascript
Angular中ng-repeat与ul li的多层嵌套重复问题
2017/07/24 Javascript
jQuery实现模糊查询的方法分析
2018/05/10 jQuery
vue2.0 实现导航守卫(路由守卫)
2018/05/21 Javascript
JS实现的JSON序列化操作简单示例
2018/07/02 Javascript
jQuery阻止事件冒泡实例分析
2018/07/03 jQuery
Jquery遍历筛选数组的几种方法和遍历解析json对象,Map()方法详解以及数组中查询某值是否存在
2019/01/18 jQuery
JS 遍历 json 和 JQuery 遍历json操作完整示例
2019/11/11 jQuery
简述Vue中容易被忽视的知识点
2019/12/09 Javascript
JS变量提升原理与用法实例浅析
2020/05/22 Javascript
SpringBoot+Vue开发之Login校验规则、实现登录和重置事件
2020/10/19 Javascript
Python StringIO模块实现在内存缓冲区中读写数据
2015/04/08 Python
Python进阶-函数默认参数(详解)
2017/05/18 Python
python Tkinter的图片刷新实例
2019/06/14 Python
分享PyCharm的几个使用技巧
2019/11/10 Python
Python连接HDFS实现文件上传下载及Pandas转换文本文件到CSV操作
2020/06/06 Python
容易被忽略的Python内置类型
2020/09/03 Python
Python 可视化神器Plotly详解
2020/12/26 Python
Bulk Powders意大利:运动补充在线商店
2019/02/09 全球购物
Surfdome西班牙:世界上最受欢迎的生活方式品牌
2019/02/13 全球购物
解释下面关于J2EE的名词
2013/11/15 面试题
护士专业推荐信
2013/11/02 职场文书
学习考察心得体会
2014/09/04 职场文书
鲁迅故居导游词
2015/02/05 职场文书