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

Что такое @property

@property — это декоратор в Python, который позволяет превратить метод класса в атрибут, доступный для чтения. Он используется для инкапсуляции, контроля доступа и добавления логики при получении/изменении/удалении атрибута.

Пример:

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 = value

circle = Circle(5)
print(circle.radius) # выведет "Доступ к радиусу" и 5
circle.radius = 10 # работает через setter

text

**Ключевые моменты:**  
- `@property` делает метод атрибутом (`obj.attr` вместо `obj.attr()`).  
- Можно добавить `@attr.setter` и `@attr.deleter` для контроля записи/удаления.  
- Полезно для валидации, ленивых вычислений или совместимости с legacy-кодом.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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