[Python-Dev] Re: method decorators (PEP 318)

Phillip J. Eby pje at telecommunity.com
Tue Mar 30 09:50:52 EST 2004


At 10:38 PM 3/29/04 -0500, Shane Hathaway wrote:
>On 03/29/04 18:51, Greg Ewing wrote:
>>Shane Hathaway <shane at zope.com>:
>>
>>>That would be nice, but here is what I would like it to mean:
>>>
>>>   def _f():
>>>     do_something()
>>>   lock(foo)(_f)
>>
>>But what about
>>   x = 17
>>   with lock(foo):
>>     x = 42
>>   print x
>>?
>
>Hmm, yep, that won't work.  A pity.

It would work if the code in the block was treated as a nested scope but 
with write access to the immediately surrounding scope.  But that's quite a 
bit of compiler change, I'd imagine.  Anyway, this is one of the very few 
places where I'd actually be in favor of allowing rebinding variables from 
an enclosing scope.




More information about the Python-Dev mailing list