Back to questions
Middle
2
Как в Python числовому полю класса предотвратить присвоение отрицательного значения?
Companies where asked
RadLab
Answer from 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
Такой подход позволяет контролировать присвоение значения и выбрасывать ошибку при попытке установить недопустимое значение.