여니의 프로그래밍 study/파이썬

[Python] lambda 함수 정리

여니's 2021. 4. 27. 11:37


lambda 함수란?

이름 없는 함수이다! (=익명함수)

일회용 함수라서, 보통 한 번 쓰고 버릴 함수 생성시 사용된다.

함수 객체는 메모리에 올라가서 변수를 통해 자신이 호출되기를 기다린다.

따라서, 한 번 쓰고 말것이라면, 메모리 낭비가 된다.

따라서 이때 lambda함수를 사용한다.


 

만약 lambda함수를 호출하고 싶다면?

변수에 함수 저장후, 변수 호출해주면 된다!

 


lambda 함수는 어떻게 작성해서 쓰이는가!?

lambda 매개변수들 : 식

 

def 함수

함수 (매개변수) :

return 결과

 

lambda 함수

lambda 매개변수 : 결과

 


ex1)

(lambda x:x+1)(3)

>> 4


ex2)

람다 표현식 안에서는 변수 생성이 불가하다.

아래처럼 밖에서 변수 생성해줘야 함

y=10

(lambda x:x+y)(1)

 

print((lambda x,y:x+y)(1,2))

# 람다 표현식 사용하는 이유?

> 함수의 인수 부분에서 간단하게 함수를 만들기 위해서이다.

함수를 다른 함수의 인수로 넣을 때 매우 편리하다.

 

 

list(map(lambda 매개변수:결과식, 대입인수 리스트)

list(map(lambda x:x+10, [1,2,3]))

 


ex3)

매개변수가 없는 함수 만들기

(lambda:1)()

>>1

 

x=10

(lambda:x)()

>> 10