C
Chris Angelico
Try typing this into IDLE:
def b():
nonlocal q
SyntaxError: no binding for nonlocal 'q' found
In interactive command-line Python, this doesn't throw an error, and
it works fine if the name is used later:
def b():
nonlocal q
q+=1
q=1
b()
return q
2
But typing this into IDLE interactive mode requires some fiddling
around with the editor. Is it trying to be too clever? Am I doing
something that makes no sense?
Tested with 3.3.0 on Windows XP.
ChrisA
def b():
nonlocal q
SyntaxError: no binding for nonlocal 'q' found
In interactive command-line Python, this doesn't throw an error, and
it works fine if the name is used later:
def b():
nonlocal q
q+=1
q=1
b()
return q
2
But typing this into IDLE interactive mode requires some fiddling
around with the editor. Is it trying to be too clever? Am I doing
something that makes no sense?
Tested with 3.3.0 on Windows XP.
ChrisA