알쏭달쏭 공부한거 쓰기
이터레이터 추가 학습 in Youtube 본문
#이터레이터=반복자
파이썬에서 반복가능한 객체> 리스트, 문자열, 튜플,함수,딕셔너리,레인지..>반복가능한= 이터러블
반복을 가능하게 해주는 애=이터레이터> 객체를 빠르게 반복시킴
x=[1,2,3] 이터러블한 객체를 이터레이터에 넣으면
순차적으로 1,2,3이 출력된다.
클래스 이터러블 객체가 되려면 2개의 메소드가 구현되어야 한다.
1)__iter__() 자기 자신 반환
2)__next__() 다음 반복을 위한 값을 반환한다. 더이상 값이 없으면 StopIteration예외를 발생한다.
클래스로 이터레이터 구현함
메소드 2개를 구현해서 반복하게 해줌
generate -발생시키다
generator- 키워드 yield를 이용하여 이터레이터를 생성시키는 방법>함수를 이용하여 이터러블 객체를 생성함
yield를 순차적으로 실행한다.
===============================================================================
이터러블=iter함수의 argument로 사용할 수 있는 객체
이터레이터=next 및 iter 함수의 argument로 사용할 수 있는 객체>이터레이터도 이터러블하다.
iterator를 iter함수에 넣으면 자기 자신을 낸다.
a=(10,20,30) #a:tuple.iterable,sequence,immutable`
b=iter(a) #iter함수를 통해 iterator b가 생성
print(next(b))#10
print(next(b))#20
print(next(b))#30
print(next(b))#StopIteration> 신호를 주고
#다음 원소를 가져올 수 있다. 데이터가 없으면 예외가 발생한다.
#하나씩 하면 복잡하니까 for문을 이용하겠다.위에 것과 동일한 동작을 한다.
for x in a:#a자리에 iterable한 요소가 들어갈 수 있다.
print(x)
#for문이 종료되기 위해서 예외가 출력되어야 한다.
# for문의 작동방법
#iterable:iter(iterable)->iterator
#next(iterator)->next item
#target: next item->binding, operation
#iteration(반복)
#StopIteration Exception->for statement 종료
'파이썬 -23여름학기(ㄱㅎㅈ)' 카테고리의 다른 글
기말 (0) | 2023.07.12 |
---|---|
7/12-파일처리 (0) | 2023.07.12 |
HW11-파일 처리, map,filter (0) | 2023.07.11 |
7/11 12장 (0) | 2023.07.11 |
test5-GUI & datetime test (0) | 2023.07.11 |