Python Operator Overloads
Published on
Updated on
I wrote a blog post about operator overloads in C++. Luckily for Python it is heavily document in what is called the Python Data Model. Though for the sake of having content, I’ll share some of the ones that I heavily use in my classes.
| Operator | Method | 
|---|---|
| + | __add__(self, other) | 
| == | __eq__(self, other) | 
| len() | __len__(self) | 
| str() | __str__(self) | 
| hash() | __hash__(self) | 
Example Usage:
class Test:
	def __init__(self, x):
        self.x = x
    def __add__(self, other):
        return Test(self.x, other.x)
    def __eq__(self, other):
        return self.x == other.x
    def __len__(self):
        return len(self.x)
    def __str__(self):
        return self.x
    def __hash__(self):
        return hash(self.x)
