Why anonymity? [was Re: map/filter/reduce/lambda opinions andbackground unscientific mini-survey]
tjreedy at udel.edu
Thu Jul 7 22:32:22 CEST 2005
The difference in readability between
func = lambda x: x**3 - 5*x
return x**3 - 5*x
def func(x): return x**3 - 5*x
is obviously a matter of personal vision.
The fuctional difference (and, I believe, the only difference) is that the
def form attaches the specific name 'func' to the function object as its
func_name attribute while the lambda form attaches the generic 'name'
'<lambda>'. This makes tracebacks, for instance, less informative.
The reason some think the name=lambda form an abuse is that it is a second
way to do almost the same thing (with the functional difference being a
negative) while ignoring the intended purpose of lambda's presence in the
language. (But I will not argue this either way.)
Terry J. Reedy
More information about the Python-list