lambda question
Greg Ewing (using news.cis.dfn.de)
me at privacy.net
Wed Mar 12 20:12:35 EST 2003
David Bear wrote:
> Still I am
> wondering if this is a valid use of the lambda function. Anyone have
> comments on where lambda's are most usefull?
There's nothing wrong with it, but it's rather
unusual style-wise, and it's no more (or less)
efficient than using a def.
Lambdas are most useful when you can embed them
in another expression. Typical uses include creating
callbacks for plugging into GUI widgets, e.g.
import Tkinter, sys
win = Tkinter.Tk()
def make_button_which_prints(s):
b = Tkinter.Button(win,
text = s,
command = lambda: sys.stdout.write(s + "\n"))
b.pack()
make_button_which_prints("Hello")
make_button_which_prints("Goodbye")
make_button_which_prints("Ftang!")
win.mainloop()
--
Greg Ewing, Computer Science Dept,
University of Canterbury,
Christchurch, New Zealand
http://www.cosc.canterbury.ac.nz/~greg
More information about the Python-list
mailing list