Я пытаюсь просто для тренировки создать объект python, который может содержать число с произвольными десятичными знаками. Все работает нормально, но у меня проблемы с взаимодействием объекта с математическими операторами. Вот как вы можете воспроизвести ошибку:
class Value():
def __init__(self,value):
self.value = value
def __add__(self,other):
return self.value + other
x = Value(5)
print(x+2) # this works fine: 7
print(2+x) # this doesn't work: TypeError: unsupported operand type(s) for +: 'int' and 'Value'
то же самое происходит со всеми другими математическими операциями, могу ли я что-то сделать, чтобы избежать этого?