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 |