pythonyieldgenerator

Python에서 yield와 Generator를 설명해 주세요

예상 시간
7
30초 답변

꼬리질문

조금 더 깊게 물어본다면

답변 뒤에 이어질 수 있는 질문들을 하나씩 열어볼 수 있어요.

yield와 return의 차이는?

부가 설명

Generator는 iterator protocol을 따릅니다. 즉 __iter____next__를 통해 반복됩니다.

내부적으로는 frame과 instruction pointer, local variable 상태를 보존하기 때문에 다음 호출에서 이어서 실행할 수 있습니다.

한 줄 정리

Generator는 값을 한 번에 모두 만들지 않고 필요할 때 하나씩 생성하는 iterator이고, yield는 함수 실행 상태를 멈췄다가 재개하게 합니다.