>From the Python Language Reference (v 3.1):

> It is illegal to unbind a name referenced by an enclosing scope; the compiler 
> will report a SyntaxError.

But when I run the following code:

a = 3
def x():
  global a
  del(a)

print(a)
x()

it works fine; and when I change the order of calls:

x()
print(a)

I get a NameError, not a SyntaxError. Apparently, I'm not
understanding the rule correctly. Can anyone explain it? Thanks.
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to