Встречается на собеседованиях • сегодня

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

Декоратор @property позволяет превратить метод класса в атрибут, который можно читать как обычное поле, но с возможностью добавить логику при обращении к нему.

Основные применения:

  1. Контроль доступа – проверка/валидация при чтении/записи
  2. Ленивые вычисления – значения вычисляются только при обращении
  3. Совместимость – изменение внутренней реализации без изменения 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    # вызовет сеттер
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы