Я столкнулся с проблемой, касающейся Python более сложных методов. Есть класс, который представляет число, однако я хочу встроить некоторые ограничения в арифметику c этого представленного числа. Итак, у меня есть следующее:
class Property:
def __init__(self, value):
self.value = value
def __get__(self, instance, owner):
return instance.value
def __set__(self, instance, value):
# Implement some arithmetic boundaries
instance.value
def __add__(self, other):
# Implement arithmetic boundaries
self.value += other
def __sub__(self, other):
etc..
Теперь это не сработает. Если я создам экземпляр и попытаюсь добавить к этому значению примерно так:
p = Property(0)
p + 5
p = 6
P больше не будет иметь свойство type, вместо этого int. Я хотел бы объединить все эти более сложные методы. Но это не представляется возможным.