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 18 Python
Python中有趣在__call__函数
Jun 21 Python
Python 闭包的使用方法
Sep 07 Python
python基于twisted框架编写简单聊天室
Jan 02 Python
python截取两个单词之间的内容方法
Dec 25 Python
Python中的正则表达式与JSON数据交换格式
Jul 03 Python
Python使用Pandas对csv文件进行数据处理的方法
Aug 01 Python
如何使用Python脚本实现文件拷贝
Nov 20 Python
pytorch 改变tensor尺寸的实现
Jan 03 Python
python3 简单实现组合设计模式
Jul 02 Python
Python3爬虫中关于Ajax分析方法的总结
Jul 10 Python
pycharm 如何查看某一函数源码的快捷键
May 12 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
wampserver改变默认网站目录的办法
2015/08/05 PHP
php将文件夹打包成zip文件的简单实现方法
2016/10/04 PHP
laravel通过创建自定义artisan make命令来新建类文件详解
2017/08/17 PHP
PHP中常见的密码处理方式和建议总结
2018/10/14 PHP
PHP后门隐藏的一些技巧总结
2020/11/04 PHP
获取Javscript执行函数名称的方法
2006/12/22 Javascript
javascript面向对象之共享成员属性与方法及prototype关键字用法
2015/01/13 Javascript
AngularJS iframe跨域打开内容时报错误的解决办法
2015/01/26 Javascript
JavaScript中消除闭包的一般方法介绍
2015/03/16 Javascript
jQuery提示插件alertify使用指南
2015/04/21 Javascript
Eclipse引入jquery报错如何解决
2015/12/01 Javascript
jQuery实现的checkbox级联选择下拉菜单效果示例
2016/12/26 Javascript
javascript history对象详解
2017/02/09 Javascript
Node.js利用js-xlsx处理Excel文件的方法详解
2017/07/05 Javascript
vue中七牛插件使用的实例代码
2017/07/28 Javascript
jQuery滚动条美化插件nicescroll简单用法示例
2018/04/18 jQuery
手把手教你写一个微信小程序(推荐)
2018/10/17 Javascript
详解搭建一个vue-cli的移动端H5开发模板
2020/01/17 Javascript
解决vue+webpack项目接口跨域出现的问题
2020/08/10 Javascript
[52:08]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#2Fnatic VS OG第一局
2016/03/05 DOTA
python检查URL是否正常访问的小技巧
2017/02/25 Python
python3实现ftp服务功能(服务端 For Linux)
2017/03/24 Python
用python写扫雷游戏实例代码分享
2018/05/27 Python
python如何生成网页验证码
2018/07/28 Python
Python global全局变量函数详解
2018/09/18 Python
Python流行ORM框架sqlalchemy安装与使用教程
2019/06/04 Python
selenium2.0中常用的python函数汇总
2019/08/05 Python
python错误调试及单元文档测试过程解析
2019/12/19 Python
IE浏览器单独写CSS样式的几种方法
2014/10/14 HTML / CSS
应届大专毕业生个人自荐信
2013/09/22 职场文书
演讲比赛策划方案
2014/06/11 职场文书
幼儿生日活动方案
2014/08/27 职场文书
爱心助学感谢信
2015/01/21 职场文书
品质保证书格式
2015/02/28 职场文书
上下班时间调整通知
2015/04/23 职场文书
Python实现Telnet自动连接检测密码的示例
2021/04/16 Python