Позволяет задать поведение при обращении к элементу контейнера.
object.__getitem__(self, key)
self -- Ссылка на экземпляр.

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

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

На заметку
Для последовательностей key должен являться целым, либо срезом. При этом в методе может быть реализована интерпретация отрицательных индексов.

    from string import ascii_letters


class MyContainer(object):

def __getitem__(self, key):
return ascii_letters[key]


my_container = MyContainer()
my_container[0] # a
my_container[16] # q

  • Если ключ является неподдерживаемым типом, можно поднять исключение TypeError.
  • Для последовательностей: если ключ выходит за пределы поддерживаемых ключей (в том числе, после интерпретации отрицательных значений), должно подниматься исключение IndexError.
  • Для отображений: если ключ отсутствует в отображении, должно подниматься исключение KeyError.

Внимание
Цикл for in для правильного определения конца последовательности ожидает, что для недопустимых индексов возбуждается исключение IndexError.

На заметку
Существует родственный метод .__setitem__().

На заметку
Вас также может заинтересовать реализация обращения к __getitem__ в CPython 3.9.
Синонимы поиска: object.__getitem__, object, __getitem__, __пуешеуь__
На заметку
Зарегистрированные пользователи могут публиковать свои мнения относительно Книг, Видео, Статей других авторов и прочего в разделе Обсуждений.