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

Что является дескриптором в Python

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

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

python
class Descriptor:
    def __get__(self, obj, objtype=None):
        print("Getting value")
        return obj._value
    
    def __set__(self, obj, value):
        print("Setting value")
        obj._value = value

class MyClass:
attr = Descriptor() # Дескриптор

text
def __init__(self, value):
    self._value = value
text

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

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

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

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

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