Python: anulación de la multiplicación

Por lo tanto, tengo una clase personalizada que tiene una función __mul__ que funciona con ints. Sin embargo, en mi progtwig (en las bibliotecas), se llama al revés, es decir, 2 * x donde x es de mi clase. ¿Hay alguna manera en que pueda hacer que use mi función __mul__ para esto?

Simplemente agregue lo siguiente a la definición de clase y debería estar listo para comenzar:

 __rmul__ = __mul__ 

Implementar __rmul__ también.

 class Foo(object): def __mul__(self, other): print '__mul__' return other def __rmul__(self, other): print '__rmul__' return other x = Foo() 2 * x # __rmul__ x * 2 # __mul__