Зачем нужен @property

Python Middle Без компании
Зачем нужен @property
Ответы
Декоратор `@property` в Python используется для создания управляемых атрибутов класса, позволяя добавлять логику при доступе, изменении или удалении атрибута. **Преимущества:** - Инкапсуляция: скрывает внутреннюю реализацию, позволяя изменять её без изменения интерфейса. - Валидация: можно проверять значения перед установкой. - Ленивые вычисления: вычислять значение только при обращении. **Пример:** ``` class Circle: def __init__(self, radius): self._radius = radius # защищённый атрибут @property def radius(self): return self._radius @radius.setter def radius(self, value): if value <= 0: raise ValueError("Радиус должен быть положительным") self._radius = value ``` Здесь `radius` — это свойство с валидацией при установке значения.