@albertalexandrov

Применение дескриптора?

Привет!

Насколько здесь оправдано применение дескриптора? Или можно по-другому решить задачу проверки атрибутов 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
  • Вопрос задан
  • 114 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
22 мая 2024, в 21:04
2000 руб./за проект
22 мая 2024, в 20:47
50000 руб./за проект
22 мая 2024, в 20:14
3600 руб./за проект