Nested Scopes in Idle/PythonWin
Jeremy Hylton
jeremy at digicool.com
Sun Apr 22 15:27:47 EDT 2001
>>>>> "GC" == Greg Chapman <glc at well.com> writes:
GC> On 22 Apr 2001 15:48:51 -0000, Steve Holden wrote:
>> Are you saying that IDLE won't correctly handle modules
>> containing
>>
>> from __future__ import nested_scopes?
>>
GC> No, I'm talking about the interactive interpreter:
GC> Python 2.1 (#15, Apr 16 2001, 18:25:49) [MSC 32 bit (Intel)] on win32
GC> Type "copyright", "credits" or "license" for more information.
GC> IDLE 0.8 -- press F1 for help
GC> >>> def make_adder(x):
GC> return lambda y: x+y
GC> SyntaxError: local name 'x' in 'make_adder' shadows use of 'x' as global in
GC> nested scope 'lambda' (<pyshell#1>, line 1)
You didn't tell the interpreter that you wanted to use nested scopes.
>>> from __future__ import nested_scopes
>>> def make_adder(x):
... return lambda y: x + y
...
>>>
Jeremy
More information about the Python-list
mailing list