Позволяет задать поведение при инициализации элемента контейнера значением.
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__().

Синонимы поиска: object.__setitem__, object, __setitem__
На заметку
В разделе «События» можно узнать о надвигающихся событиях мира Python, а также поделиться своими. Если вы являетесь организатором встречи/конференции/спринта, зарегистрируйте это событие в указанном разделе, чтобы о нём узнали все желающие.