Встречается на собеседованиях • сегодня
Для чего используется @property в Python
Декоратор @property позволяет превратить метод класса в атрибут, который можно читать как обычное поле, но с возможностью добавить логику при обращении к нему.
Основные применения:
- Контроль доступа – проверка/валидация при чтении/записи
- Ленивые вычисления – значения вычисляются только при обращении
- Совместимость – изменение внутренней реализации без изменения API
Пример:
python
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Вызов:
python
c = Circle(5)
print(c.radius) # вызовет геттер
c.radius = 10 # вызовет сеттер
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы