Why I hate lambdas (Re: Do any of you recommend Python as a first programming language?)
George Sakkis
george.sakkis at gmail.com
Sun Mar 23 12:46:57 EDT 2008
On Mar 23, 12:24 pm, a... at pythoncraft.com (Aahz) wrote:
> The problem with lambda is that too often it results in clutter (this is
> a strictly made-up example off the top of my head for illustrative
> purposes rather than any real code, but I've seen plenty of code similar
> at various times):
>
> gui.create_window(origin=(123,456), background=gui.WHITE,
> foreground=gui.BLACK, callback=lambda x: x*2)
>
> That means I need to pause reading the create_window() arguments while I
> figure out what the lambda means -- and often the lambda is more
> complicated than that. Moreover, because the lambda is unnamed, it's
> missing a reading cue for its purpose.
In a sense the lambda here is not unnamed; it's name is the name of
the keyword argument, 'callback', which is indeed a poor name at in
terms of self-documentation. I don't see how replacing the lambda with
a (better) named function would be any better than using the same name
as a keyword parameter.
George
More information about the Python-list
mailing list