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多线程编程(一):threading模块综述
Apr 05 Python
Python获取任意xml节点值的方法
May 05 Python
在Python的Flask框架中验证注册用户的Email的方法
Sep 02 Python
解析Mac OS下部署Pyhton的Django框架项目的过程
May 03 Python
Python 用Redis简单实现分布式爬虫的方法
Nov 23 Python
Python实现多级目录压缩与解压文件的方法
Sep 01 Python
Python八皇后问题解答过程详解
Jul 29 Python
Python中的相关分析correlation analysis的实现
Aug 29 Python
python字符串的拼接方法总结
Nov 18 Python
numpy实现RNN原理实现
Mar 02 Python
python调试工具Birdseye的使用教程
May 25 Python
分享提高 Python 代码的可读性的技巧
Mar 03 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
关于document.cookie的使用javascript
2010/10/29 Javascript
Jquery代码实现图片轮播效果(一)
2015/08/12 Javascript
基于jQuery倒计时插件实现团购秒杀效果
2016/05/13 Javascript
浅谈JavaScript 浏览器对象
2016/06/03 Javascript
js 实现数值的千分位及保存小数方法(推荐)
2016/08/01 Javascript
Vue2实现组件props双向绑定
2016/12/02 Javascript
开源免费天气预报接口API及全国所有地区代码(国家气象局提供)
2016/12/26 Javascript
JavaScript生成图形验证码
2020/08/24 Javascript
不到200行 JavaScript 代码实现富文本编辑器的方法
2018/01/03 Javascript
vue 2.x 中axios 封装的get 和post方法
2018/02/28 Javascript
jQuery AJAX 方法success()后台传来的4种数据详解
2018/08/08 jQuery
Vue触发式全局组件构建的方法
2018/11/28 Javascript
JS/HTML5游戏常用算法之路径搜索算法 随机迷宫算法详解【普里姆算法】
2018/12/13 Javascript
详解在Node.js中发起HTTP请求的5种方法
2019/01/10 Javascript
详解vue挂载到dom上会发生什么
2019/01/20 Javascript
nodejs简单抓包工具使用详解
2019/08/23 NodeJs
node.js中对Event Loop事件循环的理解与应用实例分析
2020/02/14 Javascript
vue 解决addRoutes多次添加路由重复的操作
2020/08/04 Javascript
[01:20]DOTA2上海特级锦标赛现场采访:谁的ID最受青睐
2016/03/25 DOTA
python 实现网上商城,转账,存取款等功能的信用卡系统
2016/07/15 Python
Python进阶之尾递归的用法实例
2018/01/31 Python
详解Python并发编程之创建多线程的几种方法
2019/08/23 Python
django 框架实现的用户注册、登录、退出功能示例
2019/11/28 Python
python+pygame实现坦克大战小游戏的示例代码(可以自定义子弹速度)
2020/08/11 Python
完美解决torch.cuda.is_available()一直返回False的玄学方法
2021/02/06 Python
美国购买和销售礼品卡平台:Raise
2017/01/13 全球购物
安全生产责任书范本
2014/04/15 职场文书
老龄工作先进事迹
2014/08/15 职场文书
软件研发工程师岗位职责
2014/09/30 职场文书
大足石刻导游词
2015/02/02 职场文书
2015年双拥工作总结
2015/04/08 职场文书
如何撰写创业策划书
2019/06/27 职场文书
七年级作文之我的梦想
2019/10/16 职场文书
自动在Windows中运行Python脚本并定时触发功能实现
2021/09/04 Python
Python游戏开发实例之graphics实现AI五子棋
2021/11/01 Python
windows安装 redis 6.2.6最新步骤详解
2022/04/26 Redis