gpt4 book ai didi

python - 理解 python 中的 lambda 并使用它来传递多个参数

转载 作者:IT老高 更新时间:2023-10-28 21:33:32 24 4
gpt4 key购买 nike

在阅读了我在 lambda 上可以找到的所有内容后,我仍然不明白如何让它做我想做的事情。

大家都用例子:

lambda x, y : x + y

为什么要在 : 之前同时声明 xy?还有如何让它返回多个参数?

例如:

self.buttonAdd_1 = Button(self, text='+', command=lambda : self.calculate(self.buttonOut_1.grid_info(), 1))

这很好用。但是下面的代码没有:

self.entry_1.bind("<Return>", lambda : self.calculate(self.buttonOut_1.grid_info(), 1))

它会产生错误:

TypeError: () takes no arguments (1 given)

最佳答案

Why do you need to state both 'x' and 'y' before the ':'?

因为 lambda (在概念上)与函数相同,只是内联编写。你的例子相当于

def f(x, y) : return x + y

只是没有将其绑定(bind)到像 f 这样的名称。

Also how do you make it return multiple arguments?

就像函数一样。最好返回一个元组:

lambda x, y: (x+y, x-y)

或者一个列表,或者一个类,或者其他什么。

self.entry_1.bind的东西应该由Demosthenex回答。

关于python - 理解 python 中的 lambda 并使用它来传递多个参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10345278/

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