본문 바로가기

Language/python

[파이썬] 이터레이터(iterator)

for 반복자 in 반복할 수 있는 것

 

여기서 '반복할 수 있는 것' = 이터러블(iterable)

이터러블은 내부에 있는 요소들을 차례차례 꺼낼 수 있는 객체를 의미한다.

이터러블 중 next() 함수를 적용하여 하나하나 꺼낼 수 있는 요소를 이터레이터라고 한다.

 

 

reversed() 함수의 반환값은 reverseiterator이다. 이터레이터.

이터레이터는 반복문의 매개변수로 전달할 수 있으며, 아래와 같이 next() 함수로 내부의 요소를 하나하나 꺼낼 수 있다.

 

 

그런데 다 꺼내고 나면 StopIteration이라는 예외가 발생한다.

이게 바로 reversed() 함수가 1회용 함수라고 불리는 이유이다. (제너레이터)

 

다 꺼내쓰면.. 이제 못써.