Sobes.tech
Назад к вопросам
Junior — Middle
96

В каких ситуациях применяется метод __set в Python?

Компании, где спрашивали
Tilda

Ответ от нейросети

sobes.tech AI

Метод __set в Python не существует как встроенный магический метод. Возможно, имелся в виду метод __setattr__ или __setitem__.

  • __setattr__(self, name, value) вызывается при присвоении значения атрибуту объекта, например, obj.attr = value. Позволяет контролировать или переопределять поведение установки атрибутов.

  • __setitem__(self, key, value) используется для присвоения значения элементу по ключу, например, obj[key] = value.

Пример использования __setattr__:

class MyClass:
    def __setattr__(self, name, value):
        print(f"Устанавливаем {name} = {value}")
        super().__setattr__(name, value)

obj = MyClass()
obj.x = 10  # Выведет: Устанавливаем x = 10

Таким образом, метод с названием __set в Python не применяется, но похожие методы __setattr__ и __setitem__ используются для контроля установки атрибутов и элементов соответственно.