Python中的函数与函数闭包



我们应该在实验室中使用函数,然后使用函数闭包。对于函子,我们从functools中导入了partial作为命令,其中的设置最终看起来像:

digit = command(self.add_character, text = number)
label.bind('< Button-1 >', digit)

然后我们将稍后开发的方法绑定到标签上。。。对于函数闭包而不是函子,我该如何做这样的事情?

您可以使用lambda来绑定匿名函数:

label.bind('< Button-1 >', lambda ev: self.add_character(ev, text=number))

在这里,我假设标签回调通常是在事件参数中传递的。您可能需要调整回调传递的参数数量。如果这是一个基于tkinter的GUI,那么只会传入事件

number值是封闭的,而当使用functools.partial()对象时,number值将作为参数绑定到可调用对象。

相关内容

  • 没有找到相关文章

最新更新