Neil Cerutti <[EMAIL PROTECTED]> wrote: ... > The Python Language Reference seems a little confused about the > terminology. > > 3.4.7 Emulating numeric types > 6.3.1 Augmented assignment statements > > The former refers to "augmented arithmetic operations", which I > think is a nice terminology, since assignment is not necessarily > taking place. Then the latter muddies the waters.
Assignment *IS* "necessarily taking place"; if you try the augmented assignment on something that DOESN'T support assignment, you'll get an exception. Consider: >>> tup=([],) >>> tup[0] += ['zap'] Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'tuple' object does not support item assignment Tuples don't support item ASSIGNMENT, and += is an ASSIGNMENT, so tuples don't allow a += on any of their items. If you thought that += wasn't an assignment, this behavior and error message would be very problematic; since the language reference ISN'T confused and has things quite right, this behavior and error message are perfectly consistent and clear. Alex -- http://mail.python.org/mailman/listinfo/python-list