Встречается на собеседованиях • сегодня
Что такое метод __set__() дескриптора в Python
Метод __set__() — часть протокола дескрипторов, вызывается при попытке присвоения значения атрибуту, управляемому дескриптором. Принимает три параметра: self (экземпляр дескриптора), instance (экземпляр владельца) и value (присваиваемое значение).
Пример:
python
class Descriptor:
def __set__(self, instance, value):
if value < 0:
raise ValueError("Значение не может быть отрицательным")
instance.__dict__[self.name] = value
class MyClass:
number = Descriptor()Нюансы:
- Работает только для дескрипторов уровня класса (не экземпляра)
- Если не реализован, попытка присвоения вызовет
AttributeError - Часто используется для валидации или преобразования данных перед сохранением
- Для работы с
__dict__владельца часто используют__set_name__для сохранения имени атрибута

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы