gpt4 book ai didi

python - lambda 表达式如何绑定(bind)到一个类?

转载 作者:太空狗 更新时间:2023-10-29 21:22:59 25 4
gpt4 key购买 nike

如果我在 Python 中设置如下所示的类,因为我希望创建的 lambda 表达式应该绑定(bind)到类 A。我不明白为什么当我将 lambda 放入列表中时,如 g 它没有绑定(bind)。

class A(object):
f = lambda x,y: (x + y)
g = [lambda x,y: (x + y)]


a = A()

#a.f bound
print a.f
<bound method A.<lambda> of <__main__.A object at 0xb743350c>>

#a.g[0] not bound
print a.g[0]
<function <lambda> at 0xb742d294>

为什么一个绑定(bind)而另一个不绑定(bind)?

最佳答案

f 是绑定(bind)的,因为根据定义它是类的一部分。 g 不是方法。 g 是一个列表。这个列表的第一个元素恰好是一个 lambda 表达式。这与 g 是否在类定义中定义无关。

关于python - lambda 表达式如何绑定(bind)到一个类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6530110/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com