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 相关文章推荐
python3使用urllib模块制作网络爬虫
Apr 08 Python
Python实现统计给定字符串中重复模式最高子串功能示例
May 16 Python
Python3.7 新特性之dataclass装饰器
May 27 Python
Python完成毫秒级抢淘宝大单功能
Jun 06 Python
用vue.js组件模拟v-model指令实例方法
Jul 05 Python
Python 函数绘图及函数图像微分与积分
Nov 20 Python
Python运行DLL文件的方法
Jan 17 Python
python圣诞树编写实例详解
Feb 13 Python
Python常用编译器原理及特点解析
Mar 23 Python
Python Unittest原理及基本使用方法
Nov 06 Python
python爬虫判断招聘信息是否存在的实例代码
Nov 20 Python
python实现简单的井字棋
May 26 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
处理单名多值表单的详解
2013/06/08 PHP
解析php中const与define的应用区别
2013/06/18 PHP
初识PHP
2014/09/28 PHP
PHP 实现代码复用的一个方法 traits新特性
2015/02/22 PHP
php对象工厂类完整示例
2018/08/09 PHP
jQuery中的bind绑定事件与文本框改变事件的临时解决方法
2010/08/13 Javascript
jtable列中自定义button示例代码
2013/11/21 Javascript
在页面上用action传递参数到后台出现乱码的解决方法
2013/12/31 Javascript
jQuery中prev()方法用法实例
2015/01/08 Javascript
被遗忘的javascript的slice() 方法
2015/04/20 Javascript
Javascript连接Access数据库完整实例
2015/08/03 Javascript
jQuery实现div随意拖动的实例代码(通用代码)
2016/01/28 Javascript
javascript实现不同颜色Tab标签切换效果
2016/04/27 Javascript
Vue.js Ajax动态参数与列表显示实现方法
2016/10/20 Javascript
Angular 2父子组件之间共享服务通信的实现
2017/07/04 Javascript
angular使用bootstrap方法手动启动的实例代码
2017/07/18 Javascript
vue实现a标签点击高亮方法
2018/03/17 Javascript
React之PureComponent的使用作用
2018/07/10 Javascript
vue-cli3全面配置详解
2018/11/14 Javascript
简单两步使用node发送qq邮件的方法
2019/03/01 Javascript
vue+eslint+vscode配置教程
2019/08/09 Javascript
laydate只显示时分 不显示秒的功能实现方法
2019/09/28 Javascript
Python实现的多项式拟合功能示例【基于matplotlib】
2018/05/15 Python
Python描述符descriptor使用原理解析
2020/03/21 Python
Python3 socket即时通讯脚本实现代码实例(threading多线程)
2020/06/01 Python
AmazeUI底部导航栏与分享按钮的示例代码
2020/08/18 HTML / CSS
写好求职应聘自荐信的三部曲
2013/09/21 职场文书
大学生个人自我鉴定
2013/12/03 职场文书
揭牌仪式策划方案
2014/05/28 职场文书
乡文化站暑期培训方案
2014/08/28 职场文书
社区四风存在问题及整改措施
2014/10/26 职场文书
旅游投诉信范文
2015/07/02 职场文书
小学信息技术教学反思
2016/02/16 职场文书
2016年“12.3”国际残疾人日活动总结
2016/04/01 职场文书
用python基于appium模块开发一个自动收取能量的小助手
2021/09/25 Python
本地搭建minio文件服务器(使用bat脚本启动)的方法
2022/07/15 Servers