Re: 39.7 심사문제 질문입니다.
, 도장_ 관리자님이 작성UNIT 11.3의 참고
UNIT 39.3을 복습하세요.
data[0]으로 접근하면 내부적으로는 data.__getitem__(0)으로 호출됩니다.
data[2]로 접근하면 data.__getitem__(2)로 호출됩니다.
리스트가 아니라 내가 만든 객체에 대해서도 첨자 연산자 []로 접근하게 만들고 싶다면 __getitem__ 메서드를 정의해줘야 합니다.
예제 코드 안 보고 UNIT 39.3의 코드를 완벽하게 작성할 수 있을 정도가 되면 이해가 될 겁니다. 10번, 20번이라도 반복해서 작성해보는 게 좋습니다. 이터레이터를 작성하는 문법 구조 이해하기, 이터레이터를 사용하는 코드 이해하기, 두 가지가 되어야 합니다.
쉬운 개념은 아니니 연습이 필요합니다. 한 번 보고 이해하기 어렵습니다.
__getitem__은 원래 문법이 그렇습니다. UNIT 39.3 복습하세요.
https://docs.python.org/3/reference/datamodel.html#object.__getitem__
파이썬 공식 문서를 보면
object.
__getitem__
(self, key)이렇게 하라고 되어 있습니다.
따라야 하는 문법입니다.