목차
Lambda 함수 정의
Lambda 함수 구문
Lambda 함수 사용 이유
Lambda 함수 정의
1. Lambda 함수는 작은 1회용 익명 함수 .
2. 여러 독립변수 가능하나, 표현식은 오직 1개만 가능.
PS. 주의: 알파벳 L 로 시작하며, 중간에 묵음 b 있음.
Lambda 함수 구문
lambda arg1, arg2, ... : expression
[코드 설명]
arg1, arg2, ....
매개변수. (※ 여러 개 가능.)
주의: 독립변수를 소괄호로 안 감쌈.
expression
전달받은 독립변수 이용한 표현식.
주의: 값 반환에 return 사용 안 함.
[반환값]
독립변수 받아 표현식 실행 후 결과 반환.
[예제]
# 독립변수 1개인 경우.
x = lambda a: a + 4
print(x(3) ) # 7
# 독립변수 2개인 경우.
x = lambda a, b: a * b
print(x(3, 4) ) # 12
# 독립변수 3개인 경우.
x = lambda a, b, c: a + b + c
print(x(1, 2, 3) ) # 6
Lambda 함수 사용 이유
1. 람다 함수는 일반함수 안에서 익명함수로 사용할 때 유용. ★
1.
하나의 매개변수 취하는 일반함수 있고,
해당 매개변수에 미지의 수가 곱해진다고 가정.
(예)
def hz(n):
return lambda a : a * n
2.
독립변수의 2배 함수
def hz(n):
return lambda a : a * n
b = hz(2)
print(b(10)) # 20
3.
독립변수의 3배 함수
def hz(n):
return lambda a : a * n
c = hz(3)
print(c(10))
4.
독립변수 2배와 3배 함수 동시.
def hz(n):
return lambda a : a * n
b = hz(2)
c = hz(3)
print(b(10)) # 20
print(c(10)) # 30
2. 짧은 시간 동안 익명함수 필요 시, 람다 함수 사용. ★
(예) a의 b승 구하기
print((lambda a, b: a ** b) (2, 4) ) # 16
3. List에 넣어 사용 가능.
방법1.
hz = [lambda x : x*10, lambda x : x*100]
print(hz[0](10) ) # 100
print(hz[1](10) ) # 1000
방법2.
a = lambda x : x*10
b = lambda x : x*100
hz = [a, b]
print(hz[0](10) ) # 100
print(hz[1](10) ) # 1000
주소 복사
랜덤 이동