generator 2

[고급반] Step 2. Advanced Function: 단순 호출을 넘어 설계의 미학으로

프로그래밍 실력이 한 단계 도약하는 지점은 함수를 '실행 도구'가 아닌 '데이터'로 다루기 시작할 때입니다. 클로저, 제너레이터, 고차 함수 등 복잡한 로직을 우아하게 만드는 고급 함수 기법들을 살펴보겠습니다.1. ❓ [Advanced Function] 개념의 실체고급 함수란 함수를 인자로 전달하거나, 함수를 반환하거나, 혹은 함수 내부의 상태를 기억하는 등의 확장된 기능을 가진 함수를 의미합니다. 이는 코드의 재사용성을 극대화하고, 메모리 효율을 높이며, 선언적인 코드 작성을 가능하게 합니다.2. 🔍 주요 원인 분석 (체크리스트)내 코드가 너무 길고 복잡하거나, 클래스를 만들기엔 과하다고 느껴진다면 아래 기법들이 필요한 신호입니다.✅ 상태 유지의 필요성: 특정 변수 값을 유지해야 하지만, 클래스(Cl..

개발/Python 2026.01.05

[중급반] Step 4. 제너레이터와 이터레이터: 메모리 효율의 극대화

Step 4에서는 파이썬이 대용량 데이터를 다루는 핵심 기법인 이터레이션 프로토콜을 배웁니다. 수백만 개의 데이터를 메모리에 한 번에 올리지 않고도 효율적으로 처리할 수 있는 **제너레이터(Generator)**와 **이터레이터(Iterator)**의 원리를 파헤쳐 봅시다.1. 🔄 이터러블(Iterable)과 이터레이터(Iterator)파이썬에서 for 루프를 돌릴 수 있는 객체는 모두 이터러블입니다. 하지만 그 내부 동작은 두 단계로 나뉩니다.Iterable: __iter__ 메서드를 가진 객체 (예: 리스트, 튜플, 문자열).Iterator: __next__ 메서드를 가진 객체로, 데이터의 다음 값을 하나씩 반환하며 상태를 유지합니다.Python nums = [1, 2, 3]it = iter(num..

개발/Python 2025.12.26
반응형