본문 바로가기
Python

Python iterable, iterator

by 오렌지마끼야또 2022. 6. 11.
728x90
반응형

 

 

 

 

iterable

 - 여러개의 값을 가지는 객체.

 - 반복 가능한 객체.

 - for문에 넣어서 돌릴 수 있는 것.

 - list, tuple, dic, set, string 모두 iterable한 객체이다.

 

iterator

 - iter() 내장함수를 통해 iterable 한 객체로부터 iterator를 만들 수 있다.

 - iterator의 내장함수 next()를 통해 하나씩 데이터에 접근하고 현재 상태값을 저장한다.

 - iterator는 1회용 객체이다. 모든 데이터에 접근이 끝나면 없어진다.

 - iterator는 독립적인 객체이다.

    ex) a = [1, 2, 3]

          i1 = iter(a)

          i2 = iter(a)

          -> i1 과 i2 는 다르다.

              i1을  2번 print 하면 3이 남아 있고

              i2를 1번 print 하면 2, 3이 남아 있다. (위의 현재 상태값 저장에 대한 내용)

 

for문이 돌아가는 원리

1. for문에 iterable한 객체를 돌린다.

2. iter()에 의해 iterator가 생성된다.

3. next()로 데이터에 순차적으로 접근한다.

4. 모든 데이터 접근 완료시 종료.

 

 

 

 

출처

https://shoark7.github.io/programming/python/iterable-iterator-generator-in-python

 

 

 

 

 

728x90
반응형

'Python' 카테고리의 다른 글

Python list 관련  (0) 2022.06.13
Python print 방식  (0) 2022.06.13
Python 변수, 객체, 메모리영역, 참조  (0) 2022.06.12
Python mutable, immutable, 클래스 default param, 얕은복사  (0) 2022.06.12
python remove(), del, pop()  (0) 2022.06.11

댓글