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随机生成数据后插入到PostgreSQL
Jul 28 Python
python批量设置多个Excel文件页眉页脚的脚本
Mar 14 Python
selenium+python实现1688网站验证码图片的截取功能
Aug 14 Python
python traceback捕获并打印异常的方法
Aug 31 Python
详解Ubuntu16.04安装Python3.7及其pip3并切换为默认版本
Feb 25 Python
python pytest进阶之xunit fixture详解
Jun 27 Python
Win10环境python3.7安装dlib模块趟过的坑
Aug 01 Python
python自动循环定时开关机(非重启)测试
Aug 26 Python
Python TCP通信客户端服务端代码实例
Nov 21 Python
Pytoch之torchvision.transforms图像变换实例
Dec 30 Python
python如何解析复杂sql,实现数据库和表的提取的实例剖析
May 15 Python
keras 模型参数,模型保存,中间结果输出操作
Jul 06 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数组函数序列 之array_count_values() 统计数组中所有值出现的次数函数
2011/10/29 PHP
php实现文件上传及头像预览功能
2017/01/15 PHP
thinkPHP5.0框架整体架构总览【应用,模块,MVC,驱动,行为,命名空间等】
2017/03/25 PHP
用PHP做了一个领取优惠券活动的示例代码
2019/07/05 PHP
jqgrid 简单学习笔记
2011/05/03 Javascript
js跑马灯代码(自写)
2013/04/17 Javascript
JavaScript Math.ceil 方法(对数值向上取整)
2015/01/09 Javascript
浅谈Jquery为元素绑定事件
2015/04/27 Javascript
基于JavaScript获取鼠标位置的各种方法
2015/12/16 Javascript
分享自己用JS做的扫雷小游戏
2016/02/17 Javascript
BootStrap点击下拉菜单项后显示一个新的输入框实现代码
2016/05/16 Javascript
BootStrap中的表单大全
2016/09/07 Javascript
JavaScript重定向URL参数的两种方法小结
2016/10/19 Javascript
jquery实现点击a链接,跳转之后,该a链接处显示背景色的方法
2018/01/18 jQuery
JS运动特效之完美运动框架实例分析
2018/01/24 Javascript
微信小程序checkbox组件使用详解
2018/01/31 Javascript
说说node中的可读流和可写流的区别
2018/06/01 Javascript
Vue项目中添加锁屏功能实现思路
2018/06/29 Javascript
vue-content-loader内容加载器的使用方法
2018/08/05 Javascript
微信小程序wx.request拦截器使用详解
2019/07/09 Javascript
bootstrap+spring boot实现面包屑导航功能(前端代码)
2019/10/09 Javascript
vue.js 子组件无法获取父组件store值的解决方式
2019/11/08 Javascript
Python的math模块中的常用数学函数整理
2016/02/04 Python
Python实现的手机号归属地相关信息查询功能示例
2017/06/08 Python
python json.loads兼容单引号数据的方法
2018/12/19 Python
python pygame实现五子棋小游戏
2020/10/26 Python
python3的print()函数的用法图文讲解
2019/07/16 Python
python 视频下载神器(you-get)的具体使用
2021/01/06 Python
欧舒丹澳洲版:L’OCCITANE
2017/07/17 全球购物
苹果Mac升级:MacSales.com
2017/11/20 全球购物
区域销售经理职责
2013/12/22 职场文书
领导调研接待方案
2014/02/27 职场文书
《假如》教学反思
2014/04/17 职场文书
高中教师评语大全
2014/04/25 职场文书
2015年毕业生自荐信范文
2015/03/24 职场文书
MySQL快速插入一亿测试数据
2021/06/23 MySQL