[Python] iterable / iterator
iterable 객체
반복가능한 객체
list, dict, set, str, bytes, tuples, range
for문을 통해 순회할 수 있는 객체를 Iterable하다고 생각하면 된다
iterator를 반환하는 빌트인 함수 iter()를 위한 매직 메소드인iter()를 구현하고 있는 객체를 iterable이라고 부른다
iterator
순서대로 값을 차례대로 꺼낼 수 있는 객체 ( 각각 요소를 하나씩 반환할 수 있는 객체)
Iterator는 데이터 스트림을 표현한다. 내부적으로 매직 메소드 next()가 구현되어 있어, next()의 인자로 넘겨 다음 데이터를 불러올 수 있다면 iterator라고 말할 수 있다.
a = [1, 2, 3]
a = iter(a)
print(a.__next__()) # 1 출력
print(a.__next__()) # 2 출력
print(a.__next__()) # 3 출력
print(a.__next__()) # StopIteration Exception 발생
-> Iterator는 Iterable이 될 수 있지만, 모든 Iterable은 Iterator가 될 수 없다!
-> Iterator 객체는 next() 메소드를 가지며, 다음 순서의 item을 리턴한다
( next 메소드로 다음 값을 반환할 수 있으면 Iterator, 없으면 Iterable한 객체)
Author And Source
이 문제에 관하여([Python] iterable / iterator), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@araaaaan/Python-iterable-iterator저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)