Привет!
Насколько здесь оправдано применение дескриптора? Или можно по-другому решить задачу проверки атрибутов
price и
quantity на 'положительность'. Пример взят из
https://dev.to/dawranliou/writing-descriptors-in-p....
class NonNegative:
def __set__(self, instance, value):
if value < 0:
raise ValueError('Cannot be negative.')
instance.__dict__[self.name] = value
def __set_name__(self, owner, name):
self.name = name
class Order:
price = NonNegative()
quantity = NonNegative()
def __init__(self, name, price, quantity):
self._name = name
self.price = price
self.quantity = quantity
def total(self):
return self.price * self.quantity
apple_order = Order('apple', 1, 10)
apple_order.price = -10 # ValueError: Cannot be negative