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中的对象拷贝示例 python引用传递
Jan 23 Python
python实现通过shelve修改对象实例
Sep 26 Python
python实现将pvr格式转换成pvr.ccz的方法
Apr 28 Python
Python绑定方法与非绑定方法详解
Aug 18 Python
Python编程二分法实现冒泡算法+快速排序代码示例
Jan 15 Python
pandas 透视表中文字段排序方法
Nov 16 Python
flask/django 动态查询表结构相同表名不同数据的Model实现方法
Aug 29 Python
pandas read_excel()和to_excel()函数解析
Sep 19 Python
Python2比较当前图片跟图库哪个图片相似的方法示例
Sep 28 Python
Python中生成一个指定长度的随机字符串实现示例
Nov 06 Python
在pytorch 中计算精度、回归率、F1 score等指标的实例
Jan 18 Python
python模拟哔哩哔哩滑块登入验证的实现
Apr 24 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获取某个目录大小的代码
2008/09/10 PHP
PHP整合PayPal支付
2015/06/11 PHP
PHP入门教程之字符串处理技巧总结(转换,过滤,解析,查找,截取,替换等)
2016/09/11 PHP
php PDO异常处理详解
2016/11/20 PHP
PHP四种排序算法实现及效率分析【冒泡排序,插入排序,选择排序和快速排序】
2018/04/27 PHP
PHP实现的curl批量请求操作示例
2018/06/06 PHP
PHP7 foreach() 函数修改
2021/03/09 PHP
实例:用 JavaScript 来操作字符串(一些字符串函数)
2007/02/15 Javascript
JavaScript在IE中“意外地调用了方法或属性访问”
2008/11/19 Javascript
使用SyntaxHighlighter实现HTML高亮显示代码的方法
2010/02/04 Javascript
Pro JavaScript Techniques学习笔记
2010/12/28 Javascript
JS制作简单的三级联动
2015/03/18 Javascript
JQuery中模拟image的ajaxPrefilter与ajaxTransport处理
2015/06/19 Javascript
几种二级联动案例(jQuery\Array\Ajax php)
2016/08/13 Javascript
为什么我们要做三份 Webpack 配置文件
2017/09/18 Javascript
JS运动特效之链式运动分析
2018/01/24 Javascript
JavaScript实现简单随机点名器
2019/11/21 Javascript
JS简易计算器实例讲解
2020/06/30 Javascript
Python实现截屏的函数
2015/07/25 Python
python正则实现计算器功能
2017/12/14 Python
python取数作为临时极大值(极小值)的方法
2018/10/15 Python
Django 创建新App及其常用命令的实现方法
2019/08/04 Python
详解Python3 pickle模块用法
2019/09/16 Python
Python实现随机生成任意数量车牌号
2020/01/21 Python
路易威登和香奈儿手袋:LuxeDH
2017/01/12 全球购物
环法自行车赛官方商店:Le Tour de France
2017/08/27 全球购物
德国BA保镖药房韩文网:kr.ba.de
2017/09/04 全球购物
自我鉴定书范文
2013/10/02 职场文书
企业厂务公开实施方案
2014/03/26 职场文书
2014党支部对照检查材料思想汇报
2014/10/05 职场文书
同事打架检讨书
2015/05/06 职场文书
三严三实·严以律己心得体会
2016/01/13 职场文书
2019学校请假条格式及范文
2019/06/25 职场文书
Python列表删除重复元素与图像相似度判断及删除实例代码
2021/05/07 Python
Python进度条的使用
2021/05/17 Python
处理canvas绘制图片模糊问题
2022/05/11 Javascript