We're back after a server migration that caused effbot.org to fall over a bit harder than expected. Expect some glitches.

The __iadd__ method

__iadd__(self, other)

These methods are called to implement the augmented arithmetic operations (+=, -=, \*=, /=, %=, \*\*=, <``<=, >``>=, &=, ^=, |=). These methods should attempt to do the operation in-place (modifying self) and return the result (which could be, but does not have to be, self). If a specific method is not defined, the augmented operation falls back to the normal methods. For instance, to evaluate the expression x+=y, where x is an instance of a class that has an __iadd__() method, x.\_\_iadd\_\_(y) is called. If x is an instance of a class that does not define a __iadd__() method, x.\_\_add\_\_(y) and ` y.__radd__(x)are considered, as with the evaluation of x+`y.