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

Есть ли опыт работы с дескриптором

Да, есть. Дескрипторы в Python — это объекты, реализующие протокол дескриптора (__get__, __set__, __delete__). Они позволяют управлять доступом к атрибутам класса.

Пример дескриптора для валидации возраста:

python
class AgeValidator:
    def __set__(self, instance, value):
        if not (0 <= value <= 120):
            raise ValueError("Недопустимый возраст")
        instance.__dict__['age'] = value
text
def __get__(self, instance, owner):
    return instance.__dict__.get('age', None)

class Person:
age = AgeValidator()

p = Person()
p.age = 25 # ОК
p.age = 150 # ValueError

text

**Применение:**  
- Валидация данных (как в примере)  
- Ленивые вычисления (кэширование)  
- Логирование доступа к атрибутам  

Дескрипторы лежат в основе `@property`, `@classmethod`, `@staticmethod`.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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