널널한 교수의 기초 파이썬
14_2. Iterator
창원대학교 정보통신공학과 박동규
동영상 강의자료와 코드
• 동영상 강의(널널한 교수의 기초 파이썬)
• https://www.youtube.com/watch?
v=TK6RLGaM3Ao&list=PL2P1Vm9k53HOEn-QYXAfblQWkR0OW9mKX
• 소스코드( GitHub )
• https://github.com/dongupak/Basic-Python-Programming
iteration 이란?
http://dic.daum.net/search.do?q=iteration
Iterator
• 리스트, 집합, 딕셔너리와 같은 타입이나, 문자열은 for - in 구문을 통해서
반복적으로 하나씩 데이터를 꺼내서 처리할 수 있다

• 이와 같이 여러 개의 데이터를 포함한 타입중에서 반복적으로 하나하나
꺼내어 처리가능한 컬렉션이나 Sequence 들을 순환가능(Iterable) 객
체라고 한다

• iterator는 next() 함수를 구현한 객체를 말하며 next() 함수는 순환가능
한 객체의 다음 원소를 반환한다. 

• 파이썬의 Iterable 형 : list, dict, set, bytes, tuple, range

• iter() 함수 : iterable형 객체를 iterator 객체로 만드는 파이썬 내장함수
비교
• 정수형 변수는 iterable 하지 않다.

• 따라서 iter() 함수를 통해 iterator 객체로 바꿀 수 없다

• TypeError 예외를 발생시킨다
수행결과
iterable_test.py
Lab
next() 함수를 이용해서 iterator 객체
의 다음 요소(element)를 얻는다
__next__() 메소드를 이용해서
iterator 객체의 다음
요소(element)를 얻을 수 있다
더 이상 가져올 객체가 없을 경우
StopIteration 예외를 발생시킨다
range형 객체
• for - in 문에서 사용되는 range() 함수는
range형 객체를 만든다

• range형 객체는 iter() 함수를 통해
range_iterator 형으로 변환시킬 수 있는
iterable 객체이다 

• range_iterator형 객체는 next() 함수를 통
해 다음 요소에 접근할 수 있다
for - in 구문에서 사용가능
iterable 객체는 for - in 구문을 통해서
반복적으로 하나씩 데이터를 꺼내서 처리
할 수 있다( range 형 )
iterable 객체는 for - in 구문을 통해서
반복적으로 하나씩 데이터를 꺼내서 처리
할 수 있다( list 형 )
감사합니다

14 2 iterator

  • 1.
    널널한 교수의 기초파이썬 14_2. Iterator 창원대학교 정보통신공학과 박동규
  • 2.
    동영상 강의자료와 코드 •동영상 강의(널널한 교수의 기초 파이썬) • https://www.youtube.com/watch? v=TK6RLGaM3Ao&list=PL2P1Vm9k53HOEn-QYXAfblQWkR0OW9mKX • 소스코드( GitHub ) • https://github.com/dongupak/Basic-Python-Programming
  • 3.
  • 4.
    Iterator • 리스트, 집합,딕셔너리와 같은 타입이나, 문자열은 for - in 구문을 통해서 반복적으로 하나씩 데이터를 꺼내서 처리할 수 있다 • 이와 같이 여러 개의 데이터를 포함한 타입중에서 반복적으로 하나하나 꺼내어 처리가능한 컬렉션이나 Sequence 들을 순환가능(Iterable) 객 체라고 한다 • iterator는 next() 함수를 구현한 객체를 말하며 next() 함수는 순환가능 한 객체의 다음 원소를 반환한다. • 파이썬의 Iterable 형 : list, dict, set, bytes, tuple, range • iter() 함수 : iterable형 객체를 iterator 객체로 만드는 파이썬 내장함수
  • 5.
    비교 • 정수형 변수는iterable 하지 않다. • 따라서 iter() 함수를 통해 iterator 객체로 바꿀 수 없다 • TypeError 예외를 발생시킨다
  • 6.
  • 7.
  • 8.
    next() 함수를 이용해서iterator 객체 의 다음 요소(element)를 얻는다 __next__() 메소드를 이용해서 iterator 객체의 다음 요소(element)를 얻을 수 있다 더 이상 가져올 객체가 없을 경우 StopIteration 예외를 발생시킨다
  • 9.
    range형 객체 • for- in 문에서 사용되는 range() 함수는 range형 객체를 만든다 • range형 객체는 iter() 함수를 통해 range_iterator 형으로 변환시킬 수 있는 iterable 객체이다 • range_iterator형 객체는 next() 함수를 통 해 다음 요소에 접근할 수 있다
  • 10.
    for - in구문에서 사용가능 iterable 객체는 for - in 구문을 통해서 반복적으로 하나씩 데이터를 꺼내서 처리 할 수 있다( range 형 ) iterable 객체는 for - in 구문을 통해서 반복적으로 하나씩 데이터를 꺼내서 처리 할 수 있다( list 형 )
  • 11.