[파이썬 오류]TypeError : 'method' object is not subscriptable

2023. 4. 6. 23:00코딩/파이썬

업무 자동화를 위해 오랜만에 파이썬을 쓰다가 생소한 오류를 만났다.. 바로 'method' 객체는 subscriptable하지 않다~는..

해당 에러는 method( ) 의 형식을 사용하는 메서드를 브라켓형식인 method\[ ]로 잘못 사용했을 때 나타나는 에러다.

str.slice[ ] 를 str.slice( )로 바꿔주면 해결된다. 참고로, 인덱스를 콜론(:)으로 구분하는 것도 아니고 콤마(,)로 구분한다 ㅋㅋ

좀 더 자세히 알아보자면, Oxford 사전에 의하면, subscript란 프로그램에서 배열 요소 중 하나를 지정하기 위해 사용하는 symbol이라고 설명이 되어있다. 즉 subscriptable 은 인덱싱이나 슬라이스가 가능함을 뜻하는 것으로 이해하면 된다.

Subscript
COMPUTING :
a symbol (notionally written as a subscript but in practice usually not) used in a program, alone or with others, to specify one of the elements of an array.

subscriptable 한 객체들은 __getitem__ 메서드를 가지는데, 해당 메서드는 객체의 인덱스에 접근할 때마다 파이썬에 의해 자동으로 호출된다. 정리하면 인덱싱이나 슬라이스는 내부적으로 __getiem__ 메서드를 통해 이루진다고 보면 된다. 대표적인 subscriptable 한 객체는 잘 알고 있듯이 딕셔너리, 리스트, 튜플 등이다.