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

Работал ли с дескрипторами в Python

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

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

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

class Person:
age = AgeValidator()

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

text

Основные типы дескрипторов:
- Non-data дескрипторы (только `__get__`)
- Data дескрипторы (`__get__` + `__set__`/`__delete__`)

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

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

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

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