anonymous functions/expressions without lambda?
Peter Hansen
peter at engcorp.com
Thu Apr 28 11:21:36 EDT 2005
Paul Miller wrote:
> For example, let's say I have a function which binds a key to a function
> call. I want to do something "simple" in this function call, and I have
> a lot of bindings, so I don't want to have a ton of tiny little
> functions scattered around:
>
> def setVarTo1():
> foo.var = 1
> def setVarTo2():
> foo.var = 2
>
> bind('a', setVarTo1)
> bind('b', setVarTo2)
>
> Instead, I'd like to do something like this:
>
> bind('a', foo.var = 1)
> bind('b', foo.var = 2)
>
> What's the recommended way to do something like this?
This meets your requirements as stated:
def temp():
foo.var = 1
bind('a', temp)
def temp():
foo.var = 2
bind('b', temp)
del temp
-Peter
More information about the Python-list
mailing list