Replacement for lambda - 'def' as an expression?
Paul Rubin
http
Wed Sep 7 03:01:09 EDT 2005
Simo Melenius <firstname.lastname at iki.fi-spam> writes:
> But if you could do anonymous blocks, you could just write something
> like:
>
> def generate_randomizer (n, m):
> return def (x):
> return pow (x, n, m)
Yes, as it stands you can already say:
def generate_randomizer(n, m):
return lambda x: pow(x, n, m)
I was showing that it can also be done with a named internal function.
> Sure, you don't lose any expressiveness in that: if you had to name
> any object before using it, you could write all the same programs that
> you can in the current Python. But it's the expressiveness of your
> mind that gets harpooned: you'll have to keep part of your focus on
> these extraneous local variables instead of thinking only in terms
> of values where only values matter.
Yes, I agree with this.
More information about the Python-list
mailing list