Позволяет задать поведение при инициализации элемента контейнера значением.
object.__setitem__(self, key, value)
self -- Ссылка на экземпляр.

key -- Ключ, которым адресуется элемент контейнера.

value -- Значение, которое ставится в соответствие указанному ключу.

Метод присущ контейнерам и вызывается при выполнении инструкций вида obj[key] = value.

class MyContainer(object):

def __init__(self):
self.storage = {}

def __setitem__(self, key, value):
self.storage[key] = value

def __getitem__(self, key):
return self.storage[key]


my_container = MyContainer()
my_container['a'] = 'b'
my_container['a'] # b
my_container['q'] # KeyError

Данный метод обычно реализуют для:


На заметку
В случае попытки использования неподдерживаемых значений, метод должен поднимать исключения, упомянутые в описании .__getitem__().


Нет обсуждений для отображения.
Если у вас есть, что сказать, можете представиться и исправить ситуацию.