- 위 예제의 문제점
- 코드가 복잡하고 깔끔하지 않음
- 반환하기 전 모든 결과를 리스트에 저장해야 한다는 점:
- 제너레이터를 사용하여 더 좋은 코드를 구현할 수 있음
제너레이터란?
yield
표현식을 사용하는 함수
- 호출되면 실제로 실행하지 않고 바로 이터레이터를 반환
- 내장 함수
next
를 호출할 때마다 이터레이터는 제너레이터가 다음 yield
표현식으로 진행하게 함
- 위의 예시를 제너레이터를 이용하여 수정
- 결과 리스트와 연동하는 부분이 모두 사라져서 훨씬 이해하기 쉬움
- 제너레이터 호출로 반환되는 이터레이터를 내장 함수
list
에 전달: 손쉽게 리스트로 변환 가능
Comments