Optimization with the in-place operators

Generally, numbers are immutable. However, the numeric operators are also used for mutable objects. Lists and sets, for example, respond to a few of the defined augmented assignment operators. As an optimization, a class can include an in-place version of a selected operator. These methods implement the augmented assignment statements for mutable objects. Note that these methods are expected to end with return self to be compatible with ordinary assignment.

Method

Operator

object.__iadd__(self, other)

+=

object.__isub__(self, other)

-=

object.__imul__(self, other)

*=

object.__itruediv__(self, other)

/=

object.__ifloordiv__(self, other)

//=

object.__imod__(self, other)

Get Mastering Object-oriented Python now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.