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完全新手教程
Feb 08 Python
用python实现对比两张图片的不同
Feb 05 Python
Python lxml解析HTML并用xpath获取元素的方法
Jan 02 Python
几行Python代码爬取3000+上市公司的信息
Jan 24 Python
python3中类的继承以及self和super的区别详解
Jun 26 Python
Django工程的分层结构详解
Jul 18 Python
Python Collatz序列实现过程解析
Oct 12 Python
pytorch中nn.Conv1d的用法详解
Dec 31 Python
Tensorflow 1.0之后模型文件、权重数值的读取方式
Feb 12 Python
Python爬虫爬取微信朋友圈
Aug 06 Python
教你使用pyinstaller打包Python教程
May 27 Python
Pytest中conftest.py的用法
Jun 27 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
WINDOWS服务器安装多套PHP的另类解决方案
2006/10/09 PHP
探讨:web上存漏洞及原理分析、防范方法
2013/06/29 PHP
php操作xml
2013/10/27 PHP
在Win7 中为php扩展配置Xcache
2014/10/08 PHP
php通过记录IP来防止表单重复提交方法分析
2014/12/16 PHP
10个值得深思的PHP面试题
2016/11/14 PHP
老生常谈php中传统验证与thinkphp框架(必看篇)
2017/06/10 PHP
laravel + vue实现的数据统计绘图(今天、7天、30天数据)
2018/07/31 PHP
javascript读取RSS数据
2007/01/20 Javascript
JavaScript将取代AppleScript?
2014/09/18 Javascript
实例讲解jquery与json的结合
2016/01/07 Javascript
简单封装js的dom查询实例代码
2016/07/08 Javascript
如何理解Vue的render函数的具体用法
2017/08/30 Javascript
基于vue2.x的电商图片放大镜插件的使用
2018/01/22 Javascript
手写Node静态资源服务器的实现方法
2018/03/20 Javascript
Bootstrap Table列宽拖动的方法
2018/08/15 Javascript
Angular resolve基础用法详解
2018/10/03 Javascript
微信小程序开发实现的IP地址查询功能示例
2019/03/28 Javascript
Django中URL视图函数的一些高级概念介绍
2015/07/20 Python
python3 与python2 异常处理的区别与联系
2016/06/19 Python
Python处理Excel文件实例代码
2017/06/20 Python
Python实现DDos攻击实例详解
2019/02/02 Python
python list转置和前后反转的例子
2019/08/26 Python
Django配置文件代码说明
2019/12/04 Python
python 通过视频url获取视频的宽高方式
2019/12/10 Python
python 调用API接口 获取和解析 Json数据
2020/09/28 Python
CSS3只让背景图片旋转180度的实现示例
2021/03/09 HTML / CSS
Eastbay官网:美国最大的运动鞋网络零售商
2016/07/27 全球购物
俄罗斯优惠券网站:BIGLION
2017/05/21 全球购物
会计自我鉴定
2013/11/02 职场文书
实习会计求职自荐信范文
2014/03/10 职场文书
党建工作先进材料
2014/05/02 职场文书
酒店开业庆典策划方案
2014/05/28 职场文书
党的群众路线教育实践活动对照检查材料思想汇报
2014/09/19 职场文书
《七月的天山》教学反思
2016/02/19 职场文书
用python基于appium模块开发一个自动收取能量的小助手
2021/09/25 Python