Iterator

Python 2009/11/18 09:00
for element in [1, 2, 3]:
     print(element)

for char in "123":
     print(char)

for line in open("myfile.txt"):
     print(line)


for는 순회 가능한 객체(리스트, 튜플, 문자열)에서 이터레이터 객체를 가져옴

이터레이터는 순회 가능한 객체의 요소를 순서대로 접근할 수 있는 객체

for 구문은 이터레이터 안의 __next__() 메서드를 실행

__next__()는 현재 이터레이터가 가리키고 있는 객체의 요소를 리턴하고 객체의 다음 요소를 가리킴


s = 'abc'
it = iter(s)

next (it) --> 'a'
next (it) --> 'b'
it.__next__(it) --> 'c'