Документация Python:
«object.__getitem__(self, key)
Вызывается для вычисления self[key]. Для типов последовательностей принимаемые ключи должны быть целыми числами. При необходимости они могут также поддерживать объекты срезов. Поддержка отрицательных индексов также необязательна».
Нарезание перехватывается методом индексирования__getitem__: он вызывается с объектом среза, а не с простым целочисленным индексом, и при необходимости объекты срезов можно передавать или ожидать.
Post #4118
827