在tkinter中,好比一个控件关联了一个函数,好比Button。代码以下:函数
button = Button(window, text='Down', command=click)spa
这里click函数就与button这个插件关联了,可是很差的地方就是不能传递参数。tkinter要求由按钮(或者其它的插件)触发的控制器函数不能含有参数,目的就是为了以统一的方式去调用他们。那么咱们有什么办法给函数传递参数,由于这常常会用到。答案就是使用lambda。插件
lambda能够使咱们在任何地方建立一个没有名字的单行函数。下面是简单的使用例子。it
>>> lambda: 3io
<function <lambda> at 0x00A89930>function
>>> (lambda:3)()匿名函数
3cli
第一行表达式建立了一个匿名函数,函数功能为返回3.第二个表达式建立并当即执行了一样的函数。lambda
介绍一下lambda,冒号以前是函数参数,能够多个,用逗号隔开,也能够没有。冒号右边是返回值。command
下面是建立一个带有参数的lambda函数。
>>>(lambda x: 2*x)(3)
6
这个东西能在GUI里面帮到咱们很大的忙,使咱们的函数控制器能传递参数。以插件Button为例
button = Button(window, text='Down', command=lambda: click(counter,1))