You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python自定义函数中lambda不输出计算结果仅显示函数地址原因求解

问题原因

你当前的代码只把lambda表达式赋值给了变量o,打印的时候直接输出了o这个函数对象本身,没有执行函数的计算逻辑,所以得到的是函数的内存地址标识,而非你预期的求和结果。

修正方法

  • 方法一:调用函数时传入参数执行计算
def myfunc(a,b):
    o = lambda a,b : a+b
    print(o(a, b)) # 增加括号传入参数,触发lambda函数执行

myfunc(5,5)
# 输出:10
  • 方法二:简化冗余的lambda定义,直接计算输出
    如果你的逻辑只是求和,不需要单独封装匿名函数,可以直接简化代码:
def myfunc(a,b):
    print(a + b)

myfunc(5,5)
  • 补充优化:lambda可以复用外层函数的参数,不需要重复定义
def myfunc(a,b):
    o = lambda : a + b # 直接使用外层的a、b,不需要重复定义参数
    print(o())

myfunc(5,5)

内容的提问来源于stack exchange,提问作者T.KHAN

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 10:24:02