Python Lambda
라무다 함수는 작은 익명 함수입니다.
라무다 함수는 어떤 양의 매개변수를 받을 수 있지만, 하나의 표현식만을 가질 수 있습니다.
문법
lambda arguments : expression
표현식을 실행하고 결과를 반환합니다:
예제
라무다 함수가 있습니다. 매개변수로 전달된 숫자에 10을 더한 후 결과를 출력합니다:
x = 람다 a : a + 10 print(x(5))
lambda 함수는 어떤 수의 매개변수를 받을 수 있습니다:
예제
파라미터 a와 b를 곱한 결과를 출력하는 lambda 함수:
x = lambda a, b : a * b print(x(5, 6))
예제
파라미터 a, b, c를 더한 결과를 출력하는 lambda 함수:
x = lambda a, b, c : a + b + c print(x(5, 6, 2))
Lambda 함수를 사용하는 이유는 무엇인가요?
lambda를 다른 함수 내부의 익명 함수로 사용할 때, lambda의 강력한 능력을 더 잘 표현됩니다.
하나의 매개변수를 가진 함수 정의가 있으며, 이 매개변수는未知수로 곱될 예정입니다:
def myfunc(n): return lambda a : a * n
항상 보내신 숫자를 두 배로 늘리는 함수를 생성하기 위해 이 함수 정의를 사용합니다:
예제
def myfunc(n): return lambda a : a * n mydoubler = myfunc(2) print(mydoubler(11))
또는, 항상 보내신 숫자를 세 배로 늘리는 함수를 생성하기 위해 동일한 함수 정의를 사용합니다:
예제
def myfunc(n): return lambda a : a * n mytripler = myfunc(3) print(mytripler(11))
또는, 동일한 프로그램에서 동일한 함수 정의를 사용하여 두 개의 함수를 생성합니다:
예제
def myfunc(n): return lambda a : a * n mydoubler = myfunc(2) mytripler = myfunc(3) print(mydoubler(11)) print(mytripler(11))
단기간 내에 익명 함수가 필요하다면 lambda 함수를 사용하십시오.