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
'여니의 프로그래밍 study > 파이썬' 카테고리의 다른 글
[Python] ImportError: DLL load failed: 지정된 모듈을 찾을 수 없습니다. (2) | 2021.05.11 |
---|---|
[Django] 프로젝트 생성하기 (0) | 2021.05.11 |
[Python] sort, sorted, key 매개변수 이용한 정렬 (0) | 2021.04.27 |
[파이썬] 여러 개의 버튼을 각자 작동하게 하는 법 (Qt designer로 UI 구현) (0) | 2021.02.04 |
[파이썬] 람다 lambda 함수 (0) | 2021.02.02 |