mirror of
https://github.com/Brandon-Rozek/website.git
synced 2024-12-23 20:01:57 +00:00
1 KiB
1 KiB
title | date | draft | tags | medium_enabled | |
---|---|---|---|---|---|
Python Operator Overloads | 2020-03-13T20:49:28-04:00 | false |
|
true |
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)