Встречается на собеседованиях • сегодня
Зачем нужен дескриптор
Дескрипторы в Python позволяют управлять доступом к атрибутам класса, реализуя протокол __get__, __set__ и __delete__. Они полезны для:
- Валидации данных — контроль значений атрибутов.
- Ленивых вычислений — вычисление значения только при обращении.
- Кэширования — хранение результатов дорогостоящих операций.
- Логирования — отслеживание доступа к атрибутам.
Пример:
python
class PositiveNumber:
def __set__(self, obj, value):
if value <= 0:
raise ValueError("Число должно быть положительным")
obj._value = value
def __get__(self, obj, owner):
return obj._value
class Order:
price = PositiveNumber() # Дескриптор
order = Order()
order.price = 100 # ОК
order.price = -50 # ValueErrorДескрипторы делают код чище, инкапсулируя логику работы с атрибутами.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы