Sobes.tech
Middle
65

Чӣ тавр аз ворид кардани арзишҳои манфӣ ба майдони рақамӣ дар синф дар Python пешгирӣ кардан мумкин аст؟

Ширкатҳо дар куҷо пурсиданд
RadLab

Ҷавоб аз AI

sobes.tech AI

Чтобы в 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

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