Python函数返回不定数量的值方法
Python的函数是可以return多个值的,但其本质上还是返回单个值,只是利用了tuple的自动打包,将多个值打包成单个tuple返回。
使用代码验证:
deffunc_a(): return1,2,3,4 if__name__=='__main__': temp=func_a() print(type(temp))
运行结果,确认返回的是一个tuple,
稍微修改代码:
deffunc_a(*args): return1,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内元素的数量可以自定:
deffunc_a(*args): returntuple(arg*2forarginargs) if__name__=='__main__': a,b,c,d=func_a(1,2,3,4) print(a,b,c,d)
代码中,将传入的参数值x2后,转换成tuple返回,再利用tuple的自动解包赋值给多个变量,从而实现函数返回不定数量的值。
这里需要注意,当返单个值时,不需要再手动返回一个tuple,所以修改代码如下:
deffunc_a(*args): temp=tuple(arg*2forarginargs) returntempiflen(temp)>1elsetemp[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函数返回不定数量的值方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。