Python
파이썬, 함수형 프로그래밍 (일급 함수)
Data_Minsu
2023. 6. 25. 15:12
일급 함수(First-class function)란 프로그래밍 언어에서 함수를 일반적인 값과 동일한 방식으로 취급하는 개념이다. 파이썬은 일급 함수를 지원하는 언어로, 함수를 변수에 할당하거나 함수를 다른 함수의 인자로 전달하거나 함수를 다른 함수의 반환값으로 사용할 수 있다. 파이썬은 함수를 자유롭게 조작하고 조합할 수 있는 강력한 기능을 제공한다.
1. 변수에 할당 가능
함수는 다른 변수에 할당하여 참조할 수 있다. 이를 통해 함수를 변수로서 사용하거나 다른 함수에 전달할 수 있다.
def say_hello():
print("Hello!")
my_function = say_hello # 함수 할당
my_function() # 함수 호출
# 출력 : Hello!
2. 함수의 인자로 전달 가능
함수는 다른 함수의 인자로 전달할 수 있다. 이를 통해 함수를 동적으로 전달하고 실행할 수 있다.
def greet(name, func):
print(f"{name}", func())
def say_hello():
return "Hello!"
greet("Minsu", say_hello) # 함수를 인자로 전달
# 출력 : Minsu Hello!
3. 함수의 반환값으로 사용 가능
함수는 다른 함수의 반환값으로 사용될 수 있다. 이를 통해 함수 안에서 새로운 함수를 동적으로 생성하고 반환할 수 있다.
def multiplier(factor):
def multiply(number):
return factor * number
return multiply
double = multiplier(2) # multiplier 함수의 반환값으로 multiply 함수를 받음
triple = multiplier(3) # multiplier 함수의 반환값으로 multiply 함수를 받음
result1 = double(5) # multiply 함수 호출
result2 = triple(5) # multiply 함수 호출
print(result1) # 출력: 10
print(result2) # 출력: 15
함수를 값으로 다룰 수 있기 때문에 함수를 추상화하고 재사용성을 높일 수 있으며, 고차 함수(Higher-order function)와 클로저(Closure)와 같은 개념과 함께 사용하면 파이썬에서 함수형 프로그래밍을 지원할 수 있다.