[Python-ideas] Globalize lonely augmented assignment

Éric Araujo merwok at netwok.org
Fri Jun 11 23:37:45 CEST 2010

Hello list

I’m really uncomfortable with your proposal too. FTR, let me copy it:
You want this code to work:

  A = [1, 2, 3]

  def f(x):
       A += [x]

  f(4) # appends 4 to A

It fails today to be consistent with this equivalent code:

  def f(x):
      B = A + [x]
      A = B

I can’t see one way working but not the other.

> To note, his counter example would currently raise an
> UnboundLocalError

It’s not an alternate example that would work today, but a consequence
of your proposal that we definitely don’t want (mutating immutable objects).

To add a third reason to reject your patch:

  f = A.append  # :)


More information about the Python-ideas mailing list