Если я создаю класс, такой как 'A' ниже:
class A(object):
a = 1
def __truediv__(self, var):
return self.a / var
, а затем пытаюсь разделить int на A следующим образом:
print(3 / A())
python вызывает ошибку TypeError , Однако, если я делю int на этот объект, python печатает:
print(A() / 3)
python печатает 0.333333.
Как я могу заставить класс работать так, чтобы я мог выполнять математические операции в любом порядке?
NB Numpy Похоже, что массивы могут работать в обоих направлениях, например:
import numpy as np
1 / np.arange(1, 5)
np.arange(1, 5) / 1
работает и работает, как и ожидалось.