Special keyword argument lambda syntax
rhodri at wildebst.demon.co.uk
Sun Mar 15 00:48:42 CET 2009
On Fri, 13 Mar 2009 15:33:26 -0000, MRAB <google at mrabarnett.plus.com>
> Rhodri James wrote:
>> On Fri, 13 Mar 2009 14:49:17 -0000, Beni Cherniavsky
>> <beni.cherniavsky at gmail.com> wrote:
>>> Allow keyword arguments in function call to take this form:
>>> NAME ( ARGUMENTS ) = EXPRESSION
>>> which is equivallent to the following:
>>> NAME = lambda ARGUMENTS: EXPRESSION
>>> except that NAME is also assigned as the function's `__name__`.
>> My first instinct on seeing the example was that "key(n)" was a
>> function *call*, not a function definition, and to remember the thread
>> a month or two ago about assigning to the result of a function call.
>> I'm inclined to think this would add confusion rather than remove it.
> Guido wants to keep the syntax LL(1), so you're not the only one who has
> a problem with it! :-)
> I think that:
> def NAME ( ARGUMENTS ): EXPRESSION
> is still LL(1).
Yes, but at this point we're arguing about how to spell "lambda", and
Python's already got one perfectly good way of spelling it.
Rhodri James *-* Wildebeeste Herder to the Masses
More information about the Python-list