如何在此处访问 lambda 函数的值?


def sum_(f, start, end):
# 1st_value,_,__ = map(f,[start,end]) # how to get 1st value passed on lambda function here ? 
# print(1st_value+start+end)
return
if __name__ == '__main__':
print(sum_(lambda y: 1.0, 5, 10))) # 1st_value=1.0,2nd_value=5, 3rd_value=10

如何从sum_()内部的lambda函数中获取1.0值?我试过map(),但它不起作用。

我也问过其他类似的问题,但没有找到我的答案,所以请不要重复。

您需要调用lambda函数;您已经将lambda函数传递给函数sum_,但您没有调用lambda:

>>> def sum_(f, start, end):
value = f(None) # Pass value of y
print(start-end+value)
>>>> sum_(lambda y: 1.0, 5, 10)
-4.0

附带说明的是,您在代码的注释部分中使用的1st_value不是有效的变量名

最新更新