Зачем нужна функция property() в Python

Python Middle Aston
Зачем нужна функция property() в Python
Ответы
Функция `property()` позволяет превращать методы класса в атрибуты, обеспечивая контроль доступа к данным через геттеры, сеттеры и делитеры. Это полезно для: - **Инкапсуляции** – скрытия внутренней реализации и валидации данных. - **Вычисления значений на лету** – динамического получения атрибутов. - **Обеспечения обратной совместимости** – можно изменить логику хранения данных, не ломая API. **Пример:** ``` 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 @property def area(self): return 3.14 * self._radius ** 2 # Вычисляемое свойство ``` Здесь `radius` и `area` доступны как атрибуты, но с дополнительной логикой.