>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