'''
람다 표현식(lambda)
개요:
def 함수의 또 다른 표현식
특징:
-반드시 단 하나의 실행문을 가진 경우만 람다 표현식으로 변경할 수 있다.
-함수명이 없다.(익명 함수 , annonymous function)
==> 명시적으로 변수에 저장해서 사용한다. (일급객체 특징)
문법:
변수명=lambda [변수, 변수2,...]:문장
'''
# 1. 파라미터없고 리턴값 없는 형태
def fun():
print("fun")
fun()#fun
#lambda 함수
fun=lambda : print("lambda fun")
fun()#lambda fun
# 2. 파라미터 있고 리턴 값은 없는 형태
def fun(n,n2):
print("fun",n,n2)
#lambda 함수
fun=lambda n,n2:print("lambda fun",n,n2)
fun(10,20)
#3. 파라미터 없고 리턴 값 있는 형태
def fun():
return 100
result = fun()
print("fun:",result)
fun=lambda : 100 #리턴이 있는 형태에서는 리턴은 빼고 값만 적어준다.
result=fun()
print("lambda fun",result)
# 4.파라미터 있고 리턴값 있는 형태
def fun(n,n2):
return n+n2
#lambda 함수
fun=lambda n,n2:n+n2
result=fun(10,20)
print("lambda fun:",result)
'''
람다 표현식(lambda)
개요:
def 함수의 또 다른 표현식
특징:
-반드시 단 하나의 실행문을 가진 경우만 람다 표현식으로 변경할 수 있다.
-함수명이 없다.(익명 함수 , annonymous function)
==> 명시적으로 변수에 저장해서 사용한다. (일급객체 특징)
문법:
변수명=lambda [변수, 변수2,...]:문장
'''
# 1. default 파라미터
def fun(n1,n2=100):
print("fun",n,n2)
#lambda 함수
fun = lambda n,n2=100:print("lambda fun",n,n2)
fun(100)
fun(100,200)
fun = lambda n,n2=100:print("lambda fun",n,n2)
fun(n=10,n2=20)
fun = lambda n, *n2: print("lambda fun",n,n2)
fun(1,2,3,4,5) #1 (2, 3, 4, 5)
fun(1,2) # 1 (2,)
# 4. dict packing
def fun(n,*n1,**n2):
print("fun",n,n1,n2)
fun=lambda n,*n1,**n2 : print("lambda fun",n,n1,n2)
fun(10,20,30,40, name="홍",age=20)