Brandon Rozek

October 27, 2019

Let’s say you overwrite the __mul__ operator in a class in Python, but you don’t want the function to be called for all kinds of input. You can specify the type by just returning NotImplemented for types you don’t want.

class A:
    def __mul__(self, x):
        if not isinstance(x, A):
            return NotImplemented
        return someOperation()