본문 바로가기
Python/Python FAQ

Python 반복자(iterator), 반복 가능한(iterable), 반복(iteration)은 무엇인가요?, What are iterator, iterable, and iteration?

by 베타코드 2023. 9. 19.
반응형

질문


파이썬에서 "iterable", "iterator", 그리고 "iteration"은 무엇인가요? 이들은 어떻게 정의되나요?


참고: 기본 이터레이터를 어떻게 만들까요?


답변


반복은 한 번에 하나씩 각 항목을 가져오는 것에 대한 일반적인 용어입니다. 루프를 사용하여 항목 그룹을 반복하는 경우(명시적 또는 암시적), 그것은 반복입니다.

파이썬에서 반복 가능한(iterable)반복자(iterator)는 특정한 의미를 가지고 있습니다.

반복 가능한(iterable)__iter__ 메서드를 반환하거나 0부터 시작하는 연속적인 인덱스를 사용할 수 있는 __getitem__ 메서드를 정의하는 객체입니다(IndexError가 더 이상 유효하지 않을 때 발생). 따라서 반복 가능한(iterable)반복자(iterator)를 가져올 수 있는 객체입니다.

반복자(iterator)next (Python 2) 또는 __next__ (Python 3) 메서드를 가진 객체입니다.

파이썬에서 for 루프, map, 리스트 컴프리헨션 등을 사용할 때마다 next 메서드가 자동으로 호출되어 반복자(iterator)에서 각 항목을 가져오는 과정을 거치게 됩니다.

학습을 시작하기에 좋은 곳은 튜토리얼의 반복자 섹션표준 타입 페이지의 반복자 타입 섹션입니다. 기본 개념을 이해한 후에는 함수형 프로그래밍 HOWTO의 반복자 섹션을 시도해보세요.

반응형

댓글