FastAPI 튜토리얼을 보던 중, 처음 본 키워드 yield
에 대해 알아보자.
(사실 어디선가 본 기억은 있는데, 이번기회에 정리 해보기로 했다.)
함수에서 List를 반환하는 것과 유사하나, Generator
라는 객체는 반환한다는 점에서 차이가 있음
yield
키워드에 대해 정리하던 중 궁금한게 생겼다.
실험해보자
def yield_test():
print('yield_test 1')
yield 1
print('yield_test 2')
yield 2
print('yield_test 3')
yield 3
print('yield_test 4')
yield 4
print('yield_test 5')
yield 5
for i in yield_test():
print(i)
디버거로 실행해보았을때, yield
키워드를 만난 지점에서 함수의 실행이 멈춘다는 것을 확인할 수 있었다.