베이직 파이썬 - lambda 함수

안녕하세요 jay입니다
오늘은 lambda함수에 대해 알아보도록 하겠습니다.


1. lambda함수란

lambda는 일반 함수랑 다르게 함수 기능을 한번만 수행하고 버려집니다.(메모리에서 사라짐)
메모리에서 사라지기 때문에  메모리 절약을 할 수 있다는 장점이 있습니다.

2. lambda 함수의 활용

lambda함수는 단독 사용보다는  주로 고계함수 or 고차함수(High order function)들과 같이 사용됩니다.
고계함수는 map, reduce, filter가 있습니다.

3.  lambda 함수의 구조

위는 파이썬의 일반적인 함수 구조이고 아래는 lambda 함수의 구조입니다.
함수의 함수명은 lambda에선 변수로 사용됩니다.
하지만 호출시 함수와 마찬가지로 호출시켜야합니다.
파라미터 (args)는 lambda옆에서 사용됩니다.
something은 표현식을 의미합니다. 원하는 표현식을 작성하시면 실행이 됩니다.
(return이 없어도 됩니다)
아래 예시들을 보면서 이해를 해보도록 하겠습니다.

4. lambda 함수의 예시

# return이 없는 경우

def add(x,y):
    print("add함수의 결과 = " , x+y) 
    
add(3,4) # add함수의 결과 =  7

add2 = lambda x,y : print("lambda 함수의 결과 = ", x+y) 
add2(3,4) # lambda 함수의 결과 =  7


# return이 있는 경우

def mult(x,y):
    result = x*y
    return result

res = mult(3,4)
print("mult함수의 결과 = ", res) # mult함수의 결과 =  12

mult2 = lambda x,y : x*y
res2 = mult2(3,4)
print("lambda 함수의 결과 = ", res2) # lambda 함수의 결과 =  12

댓글