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

Что такое дескриптор в Python

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

Пример дескриптора:

python
class Descriptor:
    def __get__(self, instance, owner):
        print(f"Getting {instance}.{owner}")
        return instance._value
text
def __set__(self, instance, value):
    print(f"Setting {instance} to {value}")
    instance._value = value

class MyClass:
attr = Descriptor() # Дескрипторный атрибут

obj = MyClass()
obj.attr = 42 # Вызовет set
print(obj.attr) # Вызовет get

text

**Типы дескрипторов:**
1. **Non-data descriptor** — только `__get__` (например, методы класса)
2. **Data descriptor** — `__get__` и `__set__`/`__delete__` (например, `property`)

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

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

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

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