Python如何正确引用函数返回的第一个元素?
问题原因
你的写法存在两个核心错误:
- 调用
helper1(x,y)后没有存储返回结果,返回的元组直接被丢弃 - 直接对函数名
helper1做下标取值,helper1是函数对象本身,不支持索引操作,自然会报错
实现方法
你可以选择以下任意一种方式实现需求:
方法1:先存储返回结果再取值
将函数调用的返回值存到变量后,再通过下标取第一个元素:
def helper2(x,y): # 存储返回的元组 res = helper1(x,y) a = 2/res[0] return a
方法2:直接解包取第一个值
如果不需要第二个返回值,可以用_作为占位符,直接解包拿到第一个返回值:
def helper2(x,y): # _ 是惯例写法,代表该位置的返回值不需要使用 first_val, _ = helper1(x,y) a = 2/first_val return a
方法3:直接对调用表达式取值
不需要额外变量的话,可以直接在函数调用表达式后加下标取返回值的对应元素:
def helper2(x,y): a = 2/helper1(x,y)[0] return a
内容的提问来源于stack exchange,提问作者Zebraboard
相关产品推荐
相关产品推荐

