이번 포스팅에서는 파이썬의 제너레이터의 대해서 살펴본다. 제너레이터의 사용새는 시간이 오래걸리고 단계적으로 사용되는 함수를 정의했다면, 이 함수를 단계적으로 실행하고 파악할 수 있는 방법이라고 보면 된다.
이것만 잘 활용해도 코딩을 하고, 테스팅하는데 매우 유용할 것 같다.
def counter(num=10): for _ in range(num): yield 'run' def greeting(): yield 'Good morning' #파이썬에서는 yield라고 쓰면 제너레이터라고 판단 yield 'Good afternoon' yield 'Good night' g = greeting() # 제너레이터 실행 print(next(g)) print("@@@@") print(next(g)) print("@@@@") print(next(g)) print("@@@@") #제너레이터를 쓰는 이유 : 오랜 실행이 걸리는 합수가 있을떄, 제너레이터로 나누어서 실행하면 편리함 def kang(): yield "Good Morning" for i in range(1): print(i) yield "Good After Noon" for i in range(2): print(i) yield "Good Night" for i in range(3): print(i) k = kang() print(next(k)) print(next(k)) print(next(k))