Python/중급/Lesson 11
제너레이터 (Generator)
1시간·theory
이 챕터
3/8
Python
2.
3.
5.
제너레이터 (Generator)
🎯 이 lesson 을 읽고 나면
이 lesson 을 다 읽고 나면 아래 3가지를 자신 있게 할 수 있습니다.
- ▸✅ yield 가 함수를 제너레이터 로 만드는 메커니즘
- ▸✅ 메모리 효율 (큰 list 대신 generator)
- ▸✅ itertools 활용 (chain, islice, groupby)
학습 목표를 체크리스트로 두고 다 답할 수 있게 되면 lesson 을 닫으세요.
generator 5가지 핵심 — 코드 + 실행 결과
generator = 값을 하나씩 지연 생산하는 함수. 메모리 절약 + 무한 시퀀스 가능.
1. list vs generator — 메모리 차이
[ ] → list, ( ) → generator. 한 글자 차이로 메모리 천억 배 차이.
2. yield — generator 만들기
yield 만나면 값 양보 + 함수 일시 정지. 다음 호출 때 그 줄부터 재개.
3. next() — 한 개씩 꺼내기
⚠️ list 로는 무한 시퀀스 불가능 — generator 만의 강점.
4. 실무 패턴 — 큰 파일 한 줄씩
5. return vs yield 차이
한 줄 요약
핵심: 큰 데이터·무한·스트리밍 → generator. 작은 데이터 → list.
🐍 실행해보기 — 제너레이터 (Generator)
위 개념을 실제로 코드로 실행해보세요. 값을 바꿔가며 어떻게 동작하는지 직접 확인하는 게 가장 빠른 학습.
✏️ Python 코드
📟 콘솔 출력
▶ 실행 버튼을 눌러보세요
🐍 Pyodide로 실제 Python 실행 — 첫 실행 시 로딩 3~5초 소요
🤖 AI 에게 이렇게 요청해보세요
이 lesson 의 개념을 알면 AI 에게 구체적으로 지시할 수 있습니다. 막연한 "고쳐줘" 가 아니라 어휘를 가진 요청 — 그게 토큰 절약의 출발점입니다.
- ▸"이 큰 list 빌드를 generator (yield) 로 바꿔서 메모리 절약해줘"
- ▸"itertools 사용해서 더 효율적으로 만들어줘"
왜 이게 토큰을 줄이나
개념을 모를 땐 AI 답변을 받고도 "그게 뭐예요?" 를 다시 물어야 합니다. 그 "다시 물음" 이 토큰을 잡아먹습니다. 개념 한 번 익혀두면 대화가 한 번에 끝납니다.