알쏭달쏭 공부한거 쓰기

이터레이터 추가 학습 in Youtube 본문

파이썬 -23여름학기(ㄱㅎㅈ)

이터레이터 추가 학습 in Youtube

elec_cy 2023. 7. 11. 21:14

#이터레이터=반복자

 

파이썬에서 반복가능한 객체> 리스트, 문자열, 튜플,함수,딕셔너리,레인지..>반복가능한= 이터러블

반복을 가능하게 해주는 애=이터레이터> 객체를 빠르게 반복시킴

 

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