Next: Special methods for Up: Data model Previous: The standard type

Special method names

A class can implement certain operations that are invoked by special syntax (such as subscription or arithmetic operations) by defining methods with special names. For instance, if a class defines a method named __getitem__, and x is an instance of this class, then x[i] is equivalent to x.__getitem__(i). (The reverse is not true - if x is a list object, x.__getitem__(i) is not equivalent to x[i].)

Except for __repr__, __str__ and __cmp__, attempts to execute an operation raise an exception when no appropriate method is defined. For __repr__ and __cmp__, the traditional interpretations are used in this case. For __str__, the __repr__ method is used.



guido@cwi.nl