Для чего используется @property в Python

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