[Python-Dev] PEP 203 Augmented Assignment
Guido van Rossum
guido@beopen.com
Thu, 27 Jul 2000 15:49:01 -0500
[Guido]
> > Second, what should happen to a slice assignment?
[Ping]
> My vote is: nothing! (Read on.)
>
> > The basic slice form is:
> >
> > a[i:j] += b
>
> What does this mean? I don't see how it could be any different from:
>
> a[j:j] = b
Apparently you haven't used NumPy arrays (matrices). I haven't
either, but I hear they overload + so that A+B is elementwise
addition, and you can write A+1 to add 1 to each element of A.
Thus, for a NumPy programmer, A += 1 would certainly look like A =
A+1, and similar for A += B.
> It looks to me like going through various contortions to support
> augmented assignment to slices is not going to be worth the trouble.
>
> May i suggest
>
> >>> a[i:j] += b
> SyntaxError: augmented assignment to a slice is not allowed
That's what I thought too until I realized that for NumPy arrays
slice+= makes sense.
--Guido van Rossum (home page: http://www.pythonlabs.com/~guido/)