본문 바로가기
프로그래밍 기초/Python

[Python] 생성기

by ITPro 2016. 3. 8.

def gene(n):

    print "Generator start"

    while n < 10:

        yield n     #현재 n 값을 반환, 생성기 자체는 종료되지 않고 멈춰있음

        n += 1

    print "Generator end"


    

for i in gene(1):    #순차적으로 생성기 호출 (next)

    print i

    

r=1

g=gene(6)


while r <= 5:

    try:    #StopIteration 예외 처리를 위한 try catch 구문

        print g.next()    #순차적으로 생성기 호출

        r += 1

    except StopIteration:   #StopIteration 예외가 발생하면 반복문을 빠져나온다

        break



반응형

'프로그래밍 기초 > Python' 카테고리의 다른 글

[Python] 코루틴  (0) 2016.03.13
[Python] 예외처리  (0) 2016.03.08
[Python] 파일 입출력  (0) 2016.03.02
[Python] 함수  (0) 2016.03.02
[Python] 튜플 (생성 후 데이터 추가/변경/삭제 불가)  (0) 2016.03.02