Python/공부내용
Python 공부내용 21.10.07. Python - Lambda
HappyFrog
2021. 10. 7. 17:48
W3Schools의 Python Tutorial을 보며 해석하고 정리한 글입니다.
오역이 존재할 수 있습니다
저도 파이썬은 처음이니 가볍게 봐주세요 :D
파이썬 람다
람다 함수는 작은 익명 함수입니다.
람다 함수는 여러 개의 인수를 취할 수 있지만 하나의 표현만 할 수 있습니다.
구문
lambda arguments : expression |
식이 실행되고 결괏값이 반환됩니다.
x = lambda a : a + 10
print(x(5))

람다 함수는 다수의 인수도 취할 수 있습니다.
x = lambda a, b : a * b
print(x(5, 6))

x = lambda a, b, c : a + b + c
print(x(5, 6, 2))

왜 람다 함수를 사용할까?
람다 함수의 강점은 당신이 다른 함수 안에서 익명의 함수로 사용할 때 잘 나타납니다.
당신이 인수 하나를 취하는 함수를 정의했다고 합시다. 그리고 그 인수는 알려지지 않은 숫자와 곱셈될 것입니다.
def myfunc(n):
return lambda a : a * n
위 함수를 항상 주어진 수의 2배를 반환하도록 하고 싶다면 다음과 같이 작성하면 됩니다:
def myfunc(n):
return lambda a : a * n
mydoubler = myfunc(2)
print(mydoubler(11))

또는 같은 방식으로 함수를 정의하여 주어진 수의 3곱을 출력하도록 할 수 있습니다.
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))

익명의 함수가 짧은 시간동안만 요구될 때 람다 함수를 사용하세요.