Python Class __div__ problema

Las tuplas representan fracciones. Estoy tratando de dividir las fracciones multiplicando por el recíproco

class Test(): def __init__(self): self._x=(1,2) def __div__(self,div_fraction): return (self._x[0]*div_fraction[1],self._x[1]*div_fraction[0]) y=Test() z=y/(1,3) print(z) 

Me da:

 Traceback (most recent call last): File "E:/test.py", line 8, in  z=y/(1,3) TypeError: unsupported operand type(s) for /: 'Test' and 'tuple' 

Sin embargo, cuando cambio __div__ a __mul__ y uso * lugar de / hace lo que debería.

¿Cómo arreglo la excepción que estoy recibiendo?

Python 3.x usa __truediv__ y __floordiv__ . __div__ es solo 2.x.

Tuvo el mismo problema el otro día.

vea si __future __. division está activo en su entorno. Si es así, también debe definir __truediv__.

http://docs.python.org/2/library/operator.html#mapping-operators-to-functions