Chapter 12. 데이터 공장 구축하기: 함수형 프로그래밍

함수형 프로그래밍 컨셉

파이썬은 클래스를 이용해 객체를 레고 블록처럼 조립하는 ‘객체지향(Object-Oriented)’ 언어이기도 하지만, 동시에 함수들의 연결만으로 거대한 공장의 컨베이어 벨트를 만들 수 있는 ‘함수형(Functional)’ 언어이기도 합니다.

함수형 프로그래밍은 변수의 상태가 수시로 바뀌어서 생기는 끔찍한 버그들을 예방하기 위해, 한 번 들어간 데이터는 원래 상태를 유지한 채 깨끗하고 투명한 형태의 ‘순수 함수’ 기계들을 통과하며 새로운 결과물로 조립되어 나오는 우아한 프로그래밍 패러다임입니다.

이 장에서는 코드를 간결하고 버그 없이 튼튼하게 만들어주는 파이썬의 함수형 프로그래밍 기법들을 배웁니다.


📖 목차

  1. 순수 함수와 일급 객체
    • 부작용(Side-effect) 없는 깨끗한 순수 함수
    • 변수에 담고, 인자로 던지는 ‘일급 객체’ 함수
    • 순환문을 대체하는 우아한 재귀 호출
    • 함수를 삼키는 함수, 고차 함수 (Higher-order Function)
  2. 내장된 데이터 가공 기계들
    • 모두 모아 하나로 압축: reduce, min, max
    • 컨베이어 벨트에 올리기: map, filter와 지능형 리스트
  3. 이름은 하나, 행동은 여러 개: 동일 함수명 다중 처리 기능
    • 인자의 개수나 종류가 다르면 알아서 맞춰서 실행해주는 multipledispatch 모듈
서브목차