일급 객체의 특징을 가진 함수가 있다면 그것을 고차함수(Higher Order Function)이라고 부를 수 있습니다. 좀 더 특징을 다듬어 보자면
이것도 헷갈린다면 일급 객체특징의 2,3 의 역할을 하고 있는 함수가 있다면 그것이 고차함수 입니다.
파이썬 빌트인 함수 중에서 대표적인 고차함수로 map이 있습니다. map 함수는 인자로서 함수와 순회가능한 객체를 받습니다.
def double(num):
return num * 2
num_list = [1, 2, 3, 4, 5]
doubled_num_list = list(map(double, num_list))
print(doubled_num_list) # [2, 4, 6, 8, 10]
#double이라는 함수와 숫자 리스트들을 매개변수로 주었다
map 함수는 리스트의 요소를 지정된 함수로 처리해준다. 여러 개의 데이터를 한 번에 다른 형태로 변화하기 위해 사용된다.
a = [1.2, 2.5, 3.7, 4.6]
a = list(map(int, a))
print(a) # [1, 2, 3, 4]
매개변수와 인수가 함께 이용을 많이 하기때문에 헷갈리는 경우가 많아서 정리
매개변수- 함수의 입력으로 전달되는 값을 받는 변수
인수 - 함수를 호출할때 전달하는 입력값
def add(a,b): #a, b 매개변수
return a + b
print(add(3,4)) # 3, 4 인수