Search code examples
pythonpython-3.xoperator-overloadingin-place

Have the `__rdiv__()` and `__idiv__` operators changed in Python 3.x?


In Python 3.x the __div__() operator was deprecated in favor of __floordiv__() and __truediv__().

Are the __rdiv__() and __idiv__() operators still used to refer to the reversed and in-place versions of __truediv__()? If so, what are the operator names for the reversed and in-place versions of __floordiv__()?


Solution

  • __rdiv__ and __idiv__ no longer exist. The new names are the obvious choices of __rtruediv__, __itruediv__, __rfloordiv__, and __ifloordiv__, following the standard format. This is visible in the link in the second answer on the question you linked, or by doing dir(int) in a Python 3 interpreter.