Что делает метод __getitem__() в Python? На сколько я поняла, это что-то типа метода, который вытаскивает элемент из последовательности по индексу, но зачем он тогда нужен, если мы можем просто напрямую вытащить элемент по индексу, без вызова этого метода?
А не приходило тебе в голову, что это и есть тот самый метод, который вызывается во время того, как ты выбираешь элемент из того же массива по индексу?)
Мой тебе совет: Просмотри курс Python Starter и Python Essential на itvdn. Там автор очень доступно обьясняет все основы языка Python и на курсе Essential задевает темы последовательностей, где рассказывает про типы последовательностей и как раз таки есть информация про метод __getitem__().
Просмотри эти видеокурсы, и того гляди такие вопросы перестают появляться впринципе)