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的正则表达式re模块的常用方法
Mar 09 Python
Python入门教程之if语句的用法
May 14 Python
python3实现ftp服务功能(客户端)
Mar 24 Python
利用python模拟sql语句对员工表格进行增删改查
Jul 05 Python
python监控linux内存并写入mongodb(推荐)
Sep 11 Python
python中reduce()函数的使用方法示例
Sep 29 Python
python获取网页中所有图片并筛选指定分辨率的方法
Mar 31 Python
Python2实现的图片文本识别功能详解
Jul 11 Python
python多进程控制学习小结
Oct 31 Python
Python面向对象之私有属性和私有方法应用案例分析
Dec 31 Python
python使用ctypes库调用DLL动态链接库
Oct 22 Python
python基于win32api实现键盘输入
Dec 09 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
屏蔽机器人从你的网站搜取email地址的php代码
2012/11/14 PHP
php动态添加url查询参数的方法
2015/04/14 PHP
PHP YII框架开发小技巧之模型(models)中rules自定义验证规则
2015/11/16 PHP
PHP获取网站中各文章的第一张图片的代码示例
2016/05/20 PHP
Laravel实现ApiToken认证请求
2019/10/14 PHP
通过DOM脚本去设置样式信息
2010/09/19 Javascript
通过上下左右键和回车键切换光标实现代码
2013/03/08 Javascript
Javascript和Java获取各种form表单信息的简单实例
2014/02/14 Javascript
IE中鼠标经过option触发mouseout的解决方法
2015/01/29 Javascript
JS获取当前页面名称的简单实例
2016/08/19 Javascript
js Canvas实现圆形时钟教程
2016/09/19 Javascript
jQuery插件zTree实现获取一级节点数据的方法
2017/03/08 Javascript
整理关于Bootstrap列表组的慕课笔记
2017/03/29 Javascript
xmlplus组件设计系列之路由(ViewStack)(7)
2017/05/02 Javascript
深入理解Node中的buffer模块
2017/06/03 Javascript
Vue+ElementUI实现表单动态渲染、可视化配置的方法
2018/03/07 Javascript
node实现分片下载的示例代码
2018/10/17 Javascript
JavaScript遍历数组的三种方法map、forEach与filter实例详解
2019/02/27 Javascript
Django2.1集成xadmin管理后台所遇到的错误集锦(填坑)
2018/12/20 Python
浅析pip安装第三方库及pycharm中导入第三方库的问题
2020/03/10 Python
Jupyter notebook无法导入第三方模块的解决方式
2020/04/15 Python
基于python实现对文件进行切分行
2020/04/26 Python
Django中的DateTimeField和DateField实现
2021/02/24 Python
咖啡为什么会有酸味?你喝到的咖啡為什麼是酸的?
2021/03/17 冲泡冲煮
介绍一下游标
2012/01/10 面试题
自学考试自我鉴定范文
2013/09/26 职场文书
英文简历自荐信范文
2013/12/11 职场文书
工业学校毕业生自荐书
2014/01/03 职场文书
国庆横幅标语
2014/10/08 职场文书
中层干部考核评语
2015/01/04 职场文书
个人简历求职信范文
2015/03/20 职场文书
2015中秋节慰问信范文
2015/03/23 职场文书
公司放假通知范文
2015/04/14 职场文书
对领导班子的意见和建议
2015/06/08 职场文书
Python作用域和名称空间的详细介绍
2022/04/13 Python
Nginx如何配置多个服务域名解析共用80端口详解
2022/09/23 Servers