Data Structures and Algorithms

by Albert Major


Operator Overloading in Python

What Is Operator Overloading?


Example Class: Complex

A simple example is a class for complex numbers. A complex number has:

class Complex:
    def __init__(self, r, c):
        self.r = r
        self.c = c

This creates an object like Complex(3, 2) representing 3 + 2i.


String Representation: __str__ and __repr__

def __str__(self):
    return str(self.r) + "+" + str(self.c) + "i"

Key rules: