Как в Python числовому полю класса предотвратить присвоение отрицательного значения?

Чтобы в Python предотвратить присвоение отрицательного значения числовому полю класса, можно использовать свойство (property) с проверкой в сеттере. Пример:

Короткий ответ

Что ответить на собеседовании

Чтобы в Python предотвратить присвоение отрицательного значения числовому полю класса, можно использовать свойство (property) с проверкой в сеттере. Пример:

Подробный разбор

Ответ с пояснениями

Чтобы в Python предотвратить присвоение отрицательного значения числовому полю класса, можно использовать свойство (property) с проверкой в сеттере. Пример:

class Product:
    def __init__(self, price):
        self.price = price  # вызовет сеттер

    @property
    def price(self):
        return self._price

    @price.setter
    def price(self, value):
        if value < 0:
            raise ValueError("Цена не может быть отрицательной")
        self._price = value

# Использование
p = Product(100)
p.price = 50   # работает
p.price = -10  # вызовет исключение ValueError

Такой подход позволяет контролировать присвоение значения и выбрасывать ошибку при попытке установить недопустимое значение.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее