Search

고차 함수(Higher-Order Function)

고차 함수(Higher-Order Function)

고차 함수는 함수를 인자로 받거나 함수를 반환하는 함수를 의미합니다. 즉, 함수를 값으로 다룰 수 있다는 것을 의미합니다.

함수를 인자로 받는 고차 함수

함수를 인자로 받는 고차 함수는 아래와 같은 구조를 가집니다.
def apply_operation(num, operation): return operation(num) def double(num): return num * 2 result = apply_operation(5, double) print(result) # 10
Plain Text
복사
위 코드에서 apply_operation 함수는 첫 번째 인자로 숫자를 받고, 두 번째 인자로 함수를 받습니다. 그리고 두 번째 인자로 받은 함수를 첫 번째 인자로 받은 숫자에 적용한 결과를 반환합니다.

함수를 반환하는 고차 함수

함수를 반환하는 고차 함수는 아래와 같은 구조를 가집니다.
def get_operation(operation): def double(num): return num * 2 def triple(num): return num * 3 if operation == 'double': return double elif operation == 'triple': return triple operation_func = get_operation('double') result = operation_func(5) print(result) # 10
Plain Text
복사
위 코드에서 get_operation 함수는 문자열을 인자로 받고, 해당 문자열에 맞는 함수를 반환합니다. double 함수와 triple 함수를 정의하고, operation 인자에 따라 해당 함수를 반환합니다.

결론

고차 함수는 코드의 재사용성을 높이고, 코드의 가독성을 높여줍니다. 함수형 프로그래밍에서는 고차 함수를 주로 사용하며, 파이썬에서도 고차 함수를 지원하고 있습니다.