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中的startswith和endswith函数使用实例
Aug 25 Python
python通过pil将图片转换成黑白效果的方法
Mar 16 Python
python读取文本中数据并转化为DataFrame的实例
Apr 10 Python
Python常见内置高效率函数用法示例
Jul 31 Python
Python图像处理之图像的读取、显示与保存操作【测试可用】
Jan 04 Python
自学python的建议和周期预算
Jan 30 Python
python进程和线程用法知识点总结
May 28 Python
Python实现Selenium自动化Page模式
Jul 14 Python
python tkinter之 复选、文本、下拉的实现
Mar 04 Python
手把手教你将Flask应用封装成Docker服务的实现
Aug 19 Python
如何快速一次性卸载所有python包(第三方库)呢
Oct 20 Python
python多线程方法详解
Jan 18 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
《忧国的莫里亚蒂》先导宣传图与STAFF公开
2020/03/04 日漫
56.com视频采集接口程序(PHP)
2007/09/22 PHP
PHP抽象类 介绍
2012/06/13 PHP
php实现设计模式中的单例模式详解
2014/10/11 PHP
完整删除ecshop中获取店铺信息的API
2014/12/24 PHP
PHP的PDO操作简单示例
2016/03/30 PHP
php array_key_exists() 与 isset() 的区别
2016/10/24 PHP
php原生数据库分页的代码实例
2019/02/18 PHP
提高网站信任度的技巧
2008/10/17 Javascript
javascript中打印当前的时间实现思路及代码
2013/12/18 Javascript
js实现简单的购物车有图有代码
2014/05/26 Javascript
jQuery中wrapAll()方法用法实例
2015/01/16 Javascript
JavaScript实现99乘法表及隔行变色实例代码
2016/02/24 Javascript
bootstrap布局中input输入框右侧图标点击功能
2016/05/16 Javascript
AngularJS 自定义过滤器详解及实例代码
2016/09/14 Javascript
js创建对象几种方式的优缺点对比
2016/09/28 Javascript
浅析JavaScriptSerializer类的序列化与反序列化
2016/11/22 Javascript
es7学习教程之Decorators(修饰器)详解
2017/07/21 Javascript
vue.js异步上传文件前后端实现代码
2017/08/22 Javascript
使用js获取伪元素的content实例
2017/10/24 Javascript
JavaScript实现读取与输出XML文件数据的方法示例
2018/06/05 Javascript
jquery ajax加载数据前台渲染方式 不用for遍历的方法
2018/08/09 jQuery
Easyui 去除jquery-easui tab页div自带滚动条的方法
2019/05/10 jQuery
小议Python中自定义函数的可变参数的使用及注意点
2016/06/21 Python
Python实现图片转字符画的示例
2017/08/22 Python
python批量获取html内body内容的实例
2019/01/02 Python
Python3实现汉语转换为汉语拼音
2019/07/08 Python
django将网络中的图片,保存成model中的ImageField的实例
2019/08/07 Python
Python 使用 docopt 解析json参数文件过程讲解
2019/08/13 Python
Python如何重新加载模块
2020/07/29 Python
用python制作个视频下载器
2021/02/01 Python
人事主管岗位职责说明书
2014/07/30 职场文书
专业见习报告范文
2014/11/03 职场文书
2014年学生会个人工作总结
2014/11/07 职场文书
两行代码解决Jupyter Notebook中文不能显示的问题
2021/04/24 Python
MongoDB安装使用并实现Python操作数据库
2021/06/28 MongoDB