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通过自定义isnumber函数判断字符串是否为数字的方法
Apr 23 Python
python简单线程和协程学习心得(分享)
Jun 14 Python
Python 获得命令行参数的方法(推荐)
Jan 24 Python
python编程嵌套函数实例代码
Feb 11 Python
Python简单获取网卡名称及其IP地址的方法【基于psutil模块】
May 24 Python
Python Numpy库安装与基本操作示例
Jan 08 Python
Python 求数组局部最大值的实例
Nov 26 Python
python面向对象之类属性和类方法案例分析
Dec 30 Python
PyCharm如何导入python项目的方法
Feb 06 Python
Python全局变量与global关键字常见错误解决方案
Oct 05 Python
Pyqt5将多个类组合在一个界面显示的完整示例
Sep 04 Python
python实现商品进销存管理系统
May 30 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 pcntl_fork和pcntl_fork 的用法
2009/04/13 PHP
Wordpress php 分页代码
2009/10/21 PHP
php中取得文件的后缀名?
2012/02/20 PHP
4种PHP异步执行的常用方式
2015/12/24 PHP
php使用FFmpeg接口获取视频的播放时长、码率、缩略图以及创建时间
2016/11/07 PHP
php mysql实现mysql_select_db选择数据库
2016/12/30 PHP
ExtJs扩展之GroupPropertyGrid代码
2010/03/05 Javascript
js parentElement和offsetParent之间的区别
2010/03/23 Javascript
13个绚丽的Jquery 界面设计网站推荐
2010/09/28 Javascript
treepanel动态加载数据实现代码
2012/12/15 Javascript
用客户端js实现带省略号的分页
2013/04/27 Javascript
Jquery节点遍历next与nextAll方法使用示例
2014/07/22 Javascript
谷歌浏览器不支持showModalDialog模态对话框的解决方法
2014/09/22 Javascript
深入理解JavaScript系列(37):设计模式之享元模式详解
2015/03/04 Javascript
jQuery+AJAX实现无刷新下拉加载更多
2015/07/03 Javascript
原生JavaScript编写canvas版的连连看游戏
2016/05/29 Javascript
jquery.form.js异步提交表单详解
2017/04/25 jQuery
vue2.0实现前端星星评分功能组件实例代码
2018/02/12 Javascript
JavaScript+Canvas实现彩色图片转换成黑白图片的方法分析
2018/07/31 Javascript
vue实现权限控制路由(vue-router 动态添加路由)
2019/11/04 Javascript
vue 限制input只能输入正数的操作
2020/08/05 Javascript
jQuery实现简单全选框
2020/09/13 jQuery
js+cavans实现图片滑块验证
2020/09/29 Javascript
[20:46]Ti4循环赛第三日VG vs DK
2014/07/12 DOTA
Python中3种内建数据结构:列表、元组和字典
2014/11/30 Python
Python操作Oracle数据库的简单方法和封装类实例
2018/05/07 Python
解决Pycharm下面出现No R interpreter defined的问题
2018/10/29 Python
浅谈python的dataframe与series的创建方法
2018/11/12 Python
Python数据类型之List列表实例详解
2019/05/08 Python
python实现俄罗斯方块游戏(改进版)
2020/03/13 Python
Django实现列表页商品数据返回教程
2020/04/03 Python
GUESS Factory加拿大:牛仔裤、服装及配饰
2019/09/20 全球购物
教师党员公开承诺事项
2014/05/28 职场文书
财务管理专业自荐书
2014/09/02 职场文书
小学生学习保证书
2015/02/26 职场文书
教你使用pyinstaller打包Python教程
2021/05/27 Python