Эти методы относятся к протоколу контейнера (Container Protocol) и позволяют объектам поддерживать индексирование, присваивание по индексу и удаление элементов по индексу, подобно спискам или словарям.
__getitem__(self, key): Вызывается, когда происходит обращение к элементу объекта по ключу или индексу (например, obj[key]). Метод должен вернуть значение элемента по указанному ключу.
python
__setitem__(self, key, value): Вызывается, когда происходит присваивание значения элементу объекта по ключу или индексу (например, obj[key] = value). Метод должен установить значение value для элемента с ключом key.
python
__delitem__(self, key): Вызывается, когда происходит удаление элемента из объекта по ключу или индексу (например, del obj[key]). Метод должен удалить элемент с ключом key из объекта.
python
Эти методы часто используются при создании пользовательских классов, которые должны вести себя как последовательности (списки, кортежи, строки) или отображения (словари). Они позволяют предоставить интуитивно понятный синтаксис доступа к данным.