Mega Code Archive

 
Categories / Python Tutorial / Class
 

Common operator overloading methods

Method              Overloads                   Called  for __init__            Constructor                 Object creation: X = Class( ) __del__             Destructor                  Object reclamation __add__             Operator +                  X + Y, X += Y __or__              Operator | (bitwise OR)     X | Y, X |= Y __repr__,__str__    Printing, conversions       print X, repr(X), str(X) __call__            Function calls              X( ) __getattr__         Qualification               X.undefined __setattr__         Attribute assignment        X.any = value __getitem__         Indexing                    X[key], for loops and other iterations if no _ _iter_ _ __setitem__         Index assignment            X[key] = value __len__             Length                      len(X), truth tests __cmp__             Comparison                  X == Y, X < Y __lt__              Specific comparison         X < Y (or else __cmp__) __eq__              Specific comparison         X == Y (or else __cmp__) __radd__            Right-side operator +       Noninstance + X __iadd__            In-place addition           X += Y (or else __add__) __iter__            Iteration contexts          for loops, in tests, list comprehensions, map, others