About lambda.
Xin Wang
xeranic at yahoo.com
Fri Oct 22 08:38:58 EDT 2004
Some c++ guru said c++ is hard to learn but easy to
use. Is python easy for both aspect? I found lot's of
confused in coding.
#code
from Tkinter import *
def on_click(m):
print m
def lamb_on_click(m):
return lambda : on_click(m)
root = Tk()
btns = ['0', '1', '2', '3']
for n in btns:
b = Button(root, text=n, command=lamb_on_click(n))
#Ok!
b.pack()
root.mainloop()
#
Or,
#code
...
b = Button(root, text=n, command=lambda x=n:
click(x)) #Ok!
...
#
The code above works well too, but follow is NOT! WHY?
#code
...
b = Button(root, text=n, command=lambda :
on_click(n))
...
#
Whichever button be clicked, this only print '3'.
Keyword 'lambda' is just like a macro in c or templete
in c++ or not?
__________________________________
Do you Yahoo!?
Yahoo! Mail Address AutoComplete - You start. We finish.
http://promotions.yahoo.com/new_mail
More information about the Python-list
mailing list