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 获取进程pid号的方法
Mar 10 Python
Python线程中对join方法的运用的教程
Apr 09 Python
浅谈Python浅拷贝、深拷贝及引用机制
Dec 15 Python
python 接收处理外带的参数方法
Dec 03 Python
Python字典对象实现原理详解
Jul 01 Python
Python 利用高德地图api实现经纬度与地址的批量转换
Aug 14 Python
python针对mysql数据库的连接、查询、更新、删除操作示例
Sep 11 Python
python多进程并发demo实例解析
Dec 13 Python
python 已知平行四边形三个点,求第四个点的案例
Apr 12 Python
python中的yield from语法快速学习
Nov 06 Python
关于Python 解决Python3.9 pandas.read_excel(‘xxx.xlsx‘)报错的问题
Nov 28 Python
Python基本的内置数据类型及使用方法
Apr 13 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
PHP中for循环语句的几种变型
2006/11/26 PHP
php创建基本身份认证站点的方法详解
2013/06/08 PHP
解析php多线程下载远程多个文件
2013/06/25 PHP
php使用正则表达式进行字符串搜索的方法
2015/03/23 PHP
PHP模板引擎Smarty自定义变量调解器用法
2016/04/11 PHP
微信开发之获取JSAPI TICKET
2017/07/07 PHP
详谈PHP中public,private,protected,abstract等关键字的用法
2017/12/31 PHP
JS获取父节点方法
2009/08/20 Javascript
js下用层来实现select的title提示属性
2010/02/23 Javascript
javascript函数以及基础写法100多条实用整理
2013/01/13 Javascript
JS弹出层的显示与隐藏示例代码
2013/12/27 Javascript
深入理解Javascript里的依赖注入
2014/03/19 Javascript
Jquery Easyui日历组件Calender使用详解(23)
2016/12/18 Javascript
EasyUI框架 使用Ajax提交注册信息的实现代码
2017/09/27 Javascript
使用axios请求时,发送formData请求的示例
2019/10/29 Javascript
Python复制目录结构脚本代码分享
2015/03/06 Python
简介Python设计模式中的代理模式与模板方法模式编程
2016/02/02 Python
Python3 处理JSON的实例详解
2017/10/29 Python
pygame游戏之旅 添加icon和bgm音效的方法
2018/11/21 Python
Django+JS 实现点击头像即可更改头像的方法示例
2018/12/26 Python
python实现dijkstra最短路由算法
2019/01/17 Python
详解Python基础random模块随机数的生成
2019/03/23 Python
在Tensorflow中实现梯度下降法更新参数值
2020/01/23 Python
Python tkinter 下拉日历控件代码
2020/03/04 Python
python实现贪吃蛇游戏源码
2020/03/21 Python
django models里数据表插入数据id自增操作
2020/07/15 Python
Canvas 像素处理之改变透明度的实现代码
2019/01/08 HTML / CSS
巴西在线鞋店:Shoestock
2017/10/28 全球购物
《再别康桥》教学反思
2014/02/12 职场文书
总会计师岗位职责
2014/02/19 职场文书
餐厅保洁员岗位职责
2015/04/10 职场文书
赡养老人协议书范本
2015/08/06 职场文书
2016年国庆节宣传标语
2015/11/25 职场文书
中小学教师继续教育心得体会
2016/01/19 职场文书
Vue实现tab导航栏并支持左右滑动功能
2021/06/28 Vue.js
CSS实现九宫格布局(自适应)的示例代码
2022/02/12 HTML / CSS