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的描述符(descriptor)、装饰器(property)造成的一个无限递归问题分享
Jul 09 Python
简单使用Python自动生成文章
Dec 25 Python
Python中用memcached来减少数据库查询次数的教程
Apr 07 Python
python实现合并两个数组的方法
May 16 Python
python使用win32com库播放mp3文件的方法
May 30 Python
深入理解Python中各种方法的运作原理
Jun 15 Python
python 字典(dict)按键和值排序
Jun 28 Python
python 二分查找和快速排序实例详解
Oct 13 Python
Python实现一个数组除以一个数的例子
Jul 20 Python
解决python中显示图片的plt.imshow plt.show()内存泄漏问题
Apr 24 Python
django使用graphql的实例
Sep 02 Python
python在地图上画比例的实例详解
Nov 13 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
解析PayPal支付接口的PHP开发方式
2010/11/28 PHP
PHP 之Section与Cookie使用总结
2012/09/14 PHP
php查询相似度最高的字符串的方法
2015/03/12 PHP
PHP函数shuffle()取数组若干个随机元素的方法分析
2016/04/02 PHP
PHP chop()函数讲解
2019/02/11 PHP
PHP+fiddler抓包采集微信文章阅读数点赞数的思路详解
2019/12/20 PHP
javascript得到XML某节点的子节点个数的脚本
2008/10/11 Javascript
Nodejs异步回调的优雅处理方法
2014/09/25 NodeJs
JavaScript定时显示广告代码分享
2015/03/02 Javascript
浅谈JavaScript中的字符编码转换问题
2015/07/07 Javascript
jQuery使用$.ajax提交表单完整实例
2015/12/11 Javascript
老生常谈js动态添加事件--- 事件委托
2016/07/19 Javascript
vue2.0父子组件及非父子组件之间的通信方法
2017/01/21 Javascript
canvas实现爱心和彩虹雨效果
2017/03/09 Javascript
基于VUE.JS的移动端框架Mint UI的使用
2017/10/11 Javascript
JavaScript自执行函数和jQuery扩展方法详解
2017/10/27 jQuery
Vue Cli3 创建项目的方法步骤
2018/10/15 Javascript
浅析Proxy可以优化vue的数据监听机制问题及实现思路
2018/11/29 Javascript
js实现验证码干扰(动态)
2021/02/23 Javascript
最大K个数问题的Python版解法总结
2016/06/16 Python
Python实现的购物车功能示例
2018/02/11 Python
解决python3 urllib 链接中有中文的问题
2018/07/16 Python
html5 标签
2009/07/16 HTML / CSS
用HTML5实现手机摇一摇的功能的教程
2012/10/30 HTML / CSS
Roxy美国官网:澳大利亚冲浪、滑雪健身品牌
2016/07/30 全球购物
Puritan’s Pride(普丽普莱)官方网站:美国最大最全的保健品公司之一
2016/10/23 全球购物
英语系本科生个人求职信
2013/09/21 职场文书
学习雷锋精神心得体会范文
2014/03/12 职场文书
中药学自荐信
2014/06/15 职场文书
机械设备与数控技术专业求职信
2014/08/10 职场文书
局机关干部群众路线个人对照检查材料思想汇报
2014/10/05 职场文书
2014年镇党建工作汇报材料
2014/11/02 职场文书
自我评价优缺点范文
2015/03/11 职场文书
2015年会计个人工作总结
2015/04/02 职场文书
2015年感恩父亲节活动策划方案
2015/05/05 职场文书
Python find()、rfind()方法及作用
2022/12/24 Python