[Python-Dev] PEP 8: Discourage named lambdas?

Leif Walsh adlaiff6 at gmail.com
Sat May 3 20:47:27 CEST 2008


On Sat, 3 May 2008, Brett Cannon wrote:
> On Sat, May 3, 2008 at 1:03 AM, Terry Reedy <tjreedy at udel.edu> wrote:
> > Some people write
> >     somename = lambda args: expression
> >  instead of the more obvious (to most people) and, dare I say, standard
> >     def somename(args): return expression
> >
> >  The difference in the result (the only one I know of) is that the code and
> >  function objects get the generic name '<lambda>' instead of the more
> >  informative (in repr() output or tracebacks) 'somename'.  I consider this a
> >  disadvantage.
> >
> >  In the absence of any compensating advantages (other than the trivial
> >  saving of 3 chars), I consider the def form to be the proper Python style
> >  to the point I think it should be at least recommended for the stdlib in
> >  the Programming Recommendations section of PEP 8.
> >
> >  There are currently uses of named lambdas at least in urllib2.  This to me
> >  is a bad example for new Python programmers.
> >
> >  What do our style mavens think?
>
> +1.

A superfluous +1 from me too, although I will mention that lists of
lambdas have saved my butt more than a few times.

-- 
Cheers,
Leif


More information about the Python-Dev mailing list