Python如何从多返回值的函数中获取指定的单个返回值
Python 多返回值函数指定获取某一个返回值的方法
Python 中函数返回多个值时,本质是返回一个元组,你提到的用[下标]获取指定位置返回值的写法是完全可行的。
原代码问题说明
你现有代码的错误有两点:
WhatIsA、WhatIsB函数内的a、b变量未预先定义,直接操作a[0]/b[1]会触发变量未定义报错- 你把
Values()返回的完整元组直接赋值给了列表元素,返回时自然输出完整元组,而非你想要的单个值
修正后的代码
按照你想要的下标取值逻辑修改即可:
def WhatIsA(value1, value2): # 对返回的元组直接取下标0,获取第一个(加法)结果 return Values(value1,value2)[0] def WhatIsB(value1, value2): # 对返回的元组直接取下标1,获取第二个(乘法)结果 return Values(value1,value2)[1] def Values(value1,value2): a = value1+value2 b = value1*value2 return a, b print(WhatIsA(10, 15)) print(WhatIsB(2, 12))
运行结果
25 24
拓展用法
如果不需要封装WhatIsA/WhatIsB函数,也可以在调用Values时直接取值:
# 直接取加法结果 print(Values(10, 15)[0]) # 直接取乘法结果 print(Values(2, 12)[1])
也可以用元组解包的方式接收多个返回值:
add_result, multi_result = Values(10, 15) print(add_result) # 输出25 print(multi_result) # 输出150
内容的提问来源于stack exchange,提问作者georgehere
相关产品推荐
相关产品推荐

