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

Brett Cannon brett at python.org
Sat May 3 02:24:27 CEST 2008


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.

-Brett


More information about the Python-Dev mailing list