Какие знаешь Python property

Python Junior Без компании
Какие знаешь Python property
Ответы
В Python `property` — это декоратор, который позволяет управлять доступом к атрибутам класса, добавляя геттеры, сеттеры и делитеры без изменения интерфейса. **Основные методы:** - **`@property`** — геттер для чтения атрибута. - **`@<property_name>.setter`** — сеттер для установки значения. - **`@<property_name>.deleter`** — делитер для удаления атрибута. **Пример:** ``` class Person: def __init__(self, name): self._name = name @property def name(self): return self._name @name.setter def name(self, value): if not isinstance(value, str): raise ValueError("Name must be a string") self._name = value @name.deleter def name(self): print("Deleting name...") del self._name ``` **Применение:** - Валидация данных. - Ленивые вычисления. - Защита атрибутов от прямого изменения. `property` делает код чище, инкапсулируя логику доступа к атрибутам.