Python函数返回不定数量的值方法
2019-01-23 12:21
2056 查看
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函数返回多个值的示例方法
- Python os模块中的isfile()和isdir()函数均返回false问题解决方法
- python使用threading获取线程函数返回值的实现方法
- 笨方法学Python 习题 21: 函数可以返回东西
- 笨方法学习Python 习题21 函数可以返回东西 ---学习记录
- python 调用 DLL 的函数,返回的字符串数组的食用方法
- python函数返回多个值的示例方法
- python函数返回多个值的示例方法
- python调用C动态库导出函数的返回值为指针类型时,在64位python环境下被截断解决方法
- Python os模块中的isfile()和isdir()函数均返回false问题解决方法
- python 调用 DLL 的函数,返回的字符串数组的食用方法
- 笨方法学习Python-习题21: 函数可以返回东西
- Python List 中 Append 和 Extent 方法不返回值。
- Python中返回字典键的值的values()方法使用
- python 禁止函数修改列表的实现方法
- Python进阶之返回函数
- Python中的split()函数的使用方法
- python 调用海康linux下psdatacall_demo,实现获视频取码流并返回到python,以及上传信息到人脸库的方法
- C语言中函数返回字符串的 四种实现方法