[Python-Dev] nested scopes confusion

Thomas Heller thomas.heller@ion-tof.com
Tue, 4 Dec 2001 20:58:59 +0100


> Yes, you're out of luck.  Like in all decent languages with nested
> scope, Python binds to the variable, not to its value at the time the
> inner function is defined.

So nested scopes are not really an alternative (at least in this case)
to the 'lambda self, i=i: i' trick.

> 
> > How do I achieve the desired effect? Note that the default argument
> > trick (def mth(i=i): ...) does not work because *args is present.
> 
> Use a class with a __call__ method:

That's what I was trying to avoid, because it is too slow.

Thanks,

Thomas