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 |
댓글