TIL | Pytho | Iterator

이도운·2021년 12월 30일
0

TIL

목록 보기
12/73
post-thumbnail

Iterator

리스트, 튜플, 딕셔너리와, 문자열 같은 Iterable 객체가 있다. 이 Iterable 객체는 iter() 함수를 통해서 Iterator 객체가 될 수 있다.

Iterator 객체는 다름이 아니라 우리가 직접 원소 하나 하나를 직접 호출 할 수 있다. 호출에 필요한 함수는 next()로 한번 호출 할 때마다 Iterator 객체 원소 하나를 순서대로 반환한다.

순서대로 반환하다가 더 이상 반환할 원소가 없는 Iterator 객체는 StopIteration 예외를 발생시킨다. 해당 에러를 통해서 우리는 try ~ catch문을 통해서 원소 반환이 다 끝난 상황에 무엇을 할 지 계획할 수 있다.

해당 객체가 Iterable 객체인지 쉽게 확인 할 수 있는 방법은 dir() 함수를 통해서 해당 객체에 __iter()__ 스페셜 메소드가 있는지 확인하는 방법이다. 물론 Iterator 객체에도 해당 스페셜 메소드가 존재한다.

사실 for문과 같은 반복문도 Iterator 객체를 생성해서 원소를 하나 하나 보는 것이다. 따라서 for문의 대상은 반드시 Iterable 객체여야 한다.

참고

1. 윤성우 열혈 파이선 중급편

profile
⌨️ 백엔드개발자 (컴퓨터공학과 졸업)

0개의 댓글