제너레이터는 iterator를 생성하는 함수인데 메모리 절약을 하거나 임시적으로 데이터 저장을 할 때 씁니다. 예를 들면, 게임을 할 때 잠시 일시정지를 하면 게임이 멈추는데 게임의 상황이 변하지 말아야 합니다. 그래서 게임이 다시 재개가 되면 기존에 했던 상태를 이어서 할 수 있게 됩니다. 이럴 때 필요한 것이 제너레이터 입니다. 제너레이터는 iterator를 생성하는 함수인데 yield를 쓰는 경우를 얘기합니다. 제너레이터로 설정을 하면 iterator가 순서대로 나오되 순서의 다음값은 필요에 따라 계산됩니다. 즉, 호출을 안 하면 멈춰서 대기하는 상태를 유지합니다. 보통 무한한 루프를 생성할 때 리스트나 딕셔너리는 메모리에 임시저장되어 불러오지만 제너레이터는 소비하는 형태로 되어 있어서 메모리 부담..