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

Зачем нужен @property

Декоратор @property в Python используется для создания управляемых атрибутов класса, позволяя добавлять логику при доступе, изменении или удалении атрибута.

Преимущества:

  • Инкапсуляция: скрывает внутреннюю реализацию, позволяя изменять её без изменения интерфейса.
  • Валидация: можно проверять значения перед установкой.
  • Ленивые вычисления: вычислять значение только при обращении.

Пример:

python
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

Здесь radius — это свойство с валидацией при установке значения.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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