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

如何在Python类中实现lambda函数?替换类成员方法示例

在Python类中使用Lambda函数替代实例方法

你想把类中的squares实例方法替换成lambda函数,核心要注意实例方法的第一个参数必须是self——你之前注释的lambda只定义了num参数,不符合实例方法的参数要求,所以无法正常工作。

正确的实现方式

直接将lambda定义为类属性,同时把self作为第一个参数,就能访问实例的num属性:

class Cal:
    def __init__(self, num):
        self.num = num

    # 用lambda实现实例方法,第一个参数为self
    squares = lambda self: self.num * 2

for i in range(11):
    s1 = Cal(i)
    print(s1.squares(), end=' , ')

说明

  • 调用方式和普通实例方法完全一致:s1.squares()会自动把实例本身作为self传入lambda。
  • 虽然这种写法可行,但实际开发中更推荐用def定义普通方法——lambda的可读性较差,逻辑复杂时维护成本更高,仅适合极简逻辑场景。

内容的提问来源于stack exchange,提问作者Mckinnon T Chinowe

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 20:12:41