我工作的一个项目Pygame的时候我遇到了这样的问题:经与拉姆达的麻烦在Python
# Note: pos is the tuple that stores mouse position
self.start_on = lambda: True if pos[1] >= 100 and pos[1] <= 200 else False
print(self.start_on)
回报
<function Menu.mouseLogic.<locals>.<lambda> at 0x10346d1e0>
,而不是真或假。
我也试过:
self.start_on = (lambda: True if pos[1] >= 100 and pos[1] <= 200 else False)
print(self.start_on)
但返回同样的事情。
如何让它返回True或False?
(注:这是关于Python 3.5)
不相关,但是如果你想给一个名称分配一个lambda(一个匿名函数),只需要使用一个普通的'def'。 – skrx