소개 (Introduction)
함수 합성 (Function composition) 은 두 개 이상의 함수를 결합하여 새로운 함수를 생성하는 함수형 프로그래밍 기법입니다. Python 에서는 functools.reduce() 함수를 사용하여 오른쪽에서 왼쪽으로 함수 합성을 수행할 수 있습니다.
함수 합성 (Function composition) 은 두 개 이상의 함수를 결합하여 새로운 함수를 생성하는 함수형 프로그래밍 기법입니다. Python 에서는 functools.reduce() 함수를 사용하여 오른쪽에서 왼쪽으로 함수 합성을 수행할 수 있습니다.
compose(*fns)라는 함수를 작성하십시오. 이 함수는 하나 이상의 함수를 인수로 받아들이고, 입력 함수들을 오른쪽에서 왼쪽으로 합성한 결과인 새로운 함수를 반환합니다. 마지막 (가장 오른쪽에 있는) 함수는 하나 이상의 인수를 받아들일 수 있으며, 나머지 함수들은 단항 함수여야 합니다.
from functools import reduce
def compose(*fns):
return reduce(lambda f, g: lambda *args: f(g(*args)), fns)
add5 = lambda x: x + 5
multiply = lambda x, y: x * y
multiply_and_add_5 = compose(add5, multiply)
multiply_and_add_5(5, 2) ## 15
이 챌린지에서는 functools.reduce() 함수를 사용하여 Python 에서 오른쪽에서 왼쪽으로 함수 합성을 수행하는 방법을 배웠습니다. 또한 하나 이상의 함수를 인수로 받아들이고, 입력 함수들을 오른쪽에서 왼쪽으로 합성한 결과인 새로운 함수를 반환하는 compose() 함수를 작성했습니다.