Оператор []
вызывает __getitem__
объекта, на котором он использовался.В вашем случае это будет эквивалентно вызову
array.__getitem__((slice(None), slice(None), 0))
Это потому, что [:]
является пустым срезом (т. Е. slice(None)
), и вы вызываете оператор []
со значением 3,что эквивалентно вызову __getitem__
с набором из 3 значений.