[Python-Dev] nonlocal x = value (original) (raw)

Georg Brandl g.brandl at gmx.net
Thu Dec 23 21:51:54 CET 2010


Am 22.12.2010 23:11, schrieb Laurens Van Houtven:

On Sat, Dec 18, 2010 at 1:12 PM, Georg Brandl <g.brandl at gmx.net> wrote:

Am 17.12.2010 17:52, schrieb Laurens Van Houtven:

+1 for throwing it out of the PEP. Assignment is a thing, nonlocal/global is a thing, don't mix them up :) (That in addition to the grammar cleanliness argument Stephan already made)

The trouble is what to make of nonlocal x = 3, y Is it two nonlocal declarations or one with a tuple assignment? Georg I'm not sure I understand. Isn't that another reason to throw it out? If you don't allow such assignments, there can't be any ambiguity, right? (Or am I missing something?)

Yes and no -- there may not be an ambiguity to the parser, but still to the human. Except if you disallow the syntax in any case, requiring people to write

nonlocal x = (3, y)

which is then again inconsistent with ordinary assignment statements.

Georg



More information about the Python-Dev mailing list