[Python-Dev] nonlocal x = value
stefan_ml at behnel.de
Fri Dec 17 08:19:07 CET 2010
it seems that Py3 doesn't support setting a "nonlocal" value as part of the
Python 3.2a4+ (py3k:86480, Nov 16 2010, 16:43:22)
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> def x():
... y = 5
... def f():
... nonlocal y = 6
File "<stdin>", line 4
nonlocal y = 6
SyntaxError: invalid syntax
even though the PEP clearly describes this feature.
Either the PEP or the implementation should be updated. Personally, I think
the PEP should be changed as I think that the syntax complicates the
grammar more than it's worth. Also, the moratorium applies here, given that
Py3.1 does not implement this.
More information about the Python-Dev