Встречается на собеседованиях • сегодня
Что делает @property в Python
@property — это декоратор, который превращает метод класса в атрибут только для чтения. Он позволяет управлять доступом к атрибутам, добавляя логику при их получении, изменении или удалении.
Пример:
python
class Circle:
def __init__(self, radius):
self._radius = radius # защищенный атрибут
text
@property
def radius(self):
print("Доступ к радиусу")
return self._radius
@radius.setter
def radius(self, value):
if value < 0:
raise ValueError("Радиус не может быть отрицательным")
self._radius = valuecircle = Circle(5)
print(circle.radius) # вызовет геттер
circle.radius = 10 # вызовет сеттер
text
**Как это работает:**
- `@property` создает геттер для атрибута.
- `@attr.setter` позволяет определить сеттер.
- `@attr.deleter` — делитер (удаление).
**Плюсы:**
- Контроль над доступом к атрибутам.
- Возможность добавить валидацию.
- Обратная совместимость (можно заменить обычный атрибут на property без изменения кода).
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы