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

Что такое дескрипторы

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

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

python
class AgeValidator:
    def __set__(self, instance, value):
        if not 0 <= value <= 120:
            raise ValueError("Invalid age")
        instance.__dict__['age'] = value

    def __get__(self, instance, owner):
        return instance.__dict__.get('age', 0)

class Person:
    age = AgeValidator()

p = Person()
p.age = 25  # OK
p.age = 150  # ValueError

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

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

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

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

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