0. Introduction
- [TIL] Python basic 31: First-class에서 학습한 고위 함수(High-Order Function)의 대표적인 예인 map, filter, reduce function에 대해 집중적으로 학습하기 위해 작성한다.
- 그래서 고위 함수(High-Order Function)란 무엇인지 간단히 알아보고, 각 fuction에 대해 기존에 했던 예제에 추가하여 더 알아보자.
- High - Order Function (고위 함수)란?? - 함수들 중 인수로 전달 가능하고, 결과값으로서 반환 가능한 함수
- 일급 함수(first - class)의 특징이기도 한다.
 
- 이번 예에서 lambda function을 사용할 것이다. - [TIL] Python basic 12: Method 에서 학습했으므로, 이를 참조한다.
 
1. Map
- map(func, iterable) - iterable에 있는 모든 요소에 지정한 function을 적용하여 결과를 iterator로 반환한다.
- return 된 객체는 map oject 다.
 
- map의 인자로 넘어가는 function은 3가지 방식으로 구현해본다. - lambda (Ex1-1)
- def (Ex1-2)
- closure (Ex1-3)
 
|  |  | 
2. Filter
- filter(func, iterable) - iterable 중에서 function 조건에 True인 요소만 뽑아 새로운 시퀀스형으로 만드는 함수
- return된 객체는 filter object 다.
 
- filter의 인자로 넘어가는 function은 2가지 방식으로 구현해본다. - lambda (Ex1-1)
- closure (Ex1-3)
 
|  |  | 
3. Reduce
- reduce(func, iterable) - iterable의 요소를 왼쪽부터 오른쪽 방향으로 함수를 적용하여 하나의 값으로 합친다.
 
- reduce는 built-in fuction이 아니기 때문에, 별도로 import를 해야 한다. - from functools import reduce
 
- reduce의 인자로 넘어가는 function은 2가지 방식으로 구현해본다. - lambda (Ex1-1)
- closure (Ex1-3)
 
|  |  |