Python函数返回不定数量的值方法

yipeiwu_com6年前Python基础

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 bytes和str类型的区别和联系

这篇文章主要介绍了简单了解Python3 bytes和str类型的区别和联系,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Pytho...

python 运算符 供重载参考

二元运算符 特殊方法 + __add__,__radd__ - __sub__,__rsub__ * __mul__,__rmul__ / __div__...

python 创建一维的0向量实例

第一种方法: A=[0]*8 第二种方法: import numpy as np A=np.zeros(8) 以上这篇python 创建一维的0向量实例就是小编分享给大家...

Python 3.6打包成EXE可执行程序的实现

Python 3.6打包成EXE可执行程序的实现

1、下载pyinstaller python 3.6 已经自己安装了pip,所以只需要执行 pip install pyinstaller就可以了 2、打包程序 进入到你你需要打包的目...

python按比例随机切分数据的实现

在机器学习或者深度学习中,我们常常碰到一个问题是数据集的切分。比如在一个比赛中,举办方给我们的只是一个带标注的训练集和不带标注的测试集。其中训练集是用于训练,而测试集用于已训练模型上跑出...