4.10.2 제너레이터 소개
제너레이터는 이터레이터를 만드는 가장 쉬운 방법이다. 하지만 제너레이터 함수 그 자체가 이터레이터는 아니다. 제너레이터의 기본 생성 절차를 살펴보자.
• 제너레이터 함수를 생성한다. 정의문에 yield 문장을 사용하면 어디에서나 제너레이터를 만들 수 있다.
• 1단계에서 만든 함수를 호출하여 이터레이터 객체를 확보한다.
• 2단계에서 생성한 이터레이터는 next 함수가 반환한 yield 값이다. 이 객체는 상태 정보를 지니고 있으며, 필요하면 재설정(reset)할 수 있다.
그림 4-4에서 이 프로세스를 설명하고 있다.
▲ 그림 4-4 함수로부터 제너레이터 반환하기