enumerater를 함수화해서 메모리에 한개씩 담으면서 병렬적으로 실행되는 구조다
가독성이 떨어지지만 속도와 메모리 관리 측면에서 조으다.
def yield_test():
print('처음에만 실행될까?')
for i in range(5):
yield i
print(i,'번째 호출!')
print(type(yield_test())) # <class 'generator'>
#CaseA. __next__() 함수를 통해 출력
t = yield_test()
print(t.__next__()) # 0
print(t.__next__()) # 0 번째 호출! 1
print(t.__next__()) # 1 번째 호출! 2
print(t.__next__()) # 2 번째 호출! 3
print(t.__next__()) # 3 번째 호출! 4