Notice
Recent Posts
Recent Comments
Link
«   2025/08   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Archives
Today
Total
관리 메뉴

행복한 개구리

Python 공부내용 21.10.07. Python - Lambda 본문

Python/공부내용

Python 공부내용 21.10.07. Python - Lambda

HappyFrog 2021. 10. 7. 17:48

W3Schools의 Python Tutorial을 보며 해석하고 정리한 글입니다.

오역이 존재할 수 있습니다

저도 파이썬은 처음이니 가볍게 봐주세요 :D 

W3Schools


파이썬 람다

람다 함수는 작은 익명 함수입니다.

 

람다 함수는 여러 개의 인수를 취할 수 있지만 하나의 표현만 할 수 있습니다.

 

구문

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))

▲ 결괏값

 

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