반응형
제너레이터(Generator)
제너레이터는 리스트, 튜플과 같은 반복되는 구조의 형태인 이터러블(iterable)의 한 종류인데 함수와 “yield”구문을 사용하여 생성할 수 있습니다. 리스트와는 달리 제너레이터는 임의의 인덱싱이 불가하지만 for 루프를 통해서 반복연산은 가능합니다.
예제:
def countdown():
for i in range(3):
yield i
print(list(countdown()))
결과:
“yield” 키워드는 함수의 “return”키워드 대신 사용되는데, 지역변수인 결과값을 소멸시키지 않고 함수를 호출한 caller에게 반환합니다.
위의 예제에서 처럼 유한한 요소를 가진 제너레이터는 “list”함수를 이용해서 리스트형으로 변환도 가능합니다.
끝!
반응형
'Software > Python' 카테고리의 다른 글
[파이썬의 기본] 예외처리 (try, except, finally, raise) (2) | 2019.04.24 |
---|---|
[파이썬의 기본] 함수에 사용되는 특별한 기능 - 맵 & 필터(map & filter) (2) | 2019.04.24 |
[파이썬의 기본] 함수에 사용되는 특별한 기능 - 람다(lambda) 함수 (2) | 2019.04.24 |
파이썬(Python) GUI 프로그래밍의 기본 (PyQt5 Dialog & Main Window 사용) (2) | 2019.04.19 |
댓글