next up previous contents index
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__, the default is to return a string describing the object's class and address. For __cmp__, the default is to compare instances based on their address. For __str__, the default is to use __repr__.      





guido@cwi.nl