[Python-ideas] Enhance definition of functions

Ronald Oussoren ronaldoussoren at mac.com
Wed Jul 31 08:23:53 CEST 2013


On 31 Jul, 2013, at 3:41, Terry Reedy <tjreedy at udel.edu> wrote:

> On 7/30/2013 11:59 AM, Ronald Oussoren wrote:
> 
>> "Never" is a long time. AFAIK the main reason why Python doesn't have
>> multi-line lambda's is that nobody has proposed a suitable syntax yet
>> (and not for lack of trying, the archives of this list and python-dev
>> contain a lot of proposals that were found lacking).
> 
> There is also the fact that a generic .__name__ attribute of '<lambda>' is inferior to a possibly unique and meaningful name. This is not just in tracebacks. Consider
>  [<built-in function sin>, <built-in function cos>]
> versus
>  [<function <lambda> at 0x0000000003470B70>, <function <lambda> at 0x0000000003470BF8>]

It might be lack of imagination on my part, but I have a lot of nested functions named "function" or "callback" that are too complex to be a lambda, but too simple or specialized to bother making them proper functions. The key function for sort is one of the usecases.

I'd love to have anonymous functions for that, but haven't seen a proposal for those yet that would fit the language.

Ronald


More information about the Python-ideas mailing list