파이썬의 리스트와 튜플에서 동작하는 슬라이싱은 객체의 getitem 이 정의된 함수에 의해서 수행된다. 이러한 함수는 예약함수로써 선언시 컴파일의 단에서 이를 참조해 js의 prototype과 같이 속성을 부여한다.

class UseGetItem:
  def __init__(self):
    self.items = [n for n in range(1, 11)]

  def __getitem__(self, idx):
    return self.items[idx]

a = CustomNumbers()
a[2:7]
# [3, 4, 5, 6, 7]

이런식으로 객체가 포함하는 것에 대해서 마치 배열처럼 사용 가능하게 만드는 함수이다.

	@torch.jit.export
    def __getitem__(self, token: str) -> int:

이런식으로 문자열로 구현하는 것도 가능하다