이름이 없고 함수 객체만 존재하는 익명 함수
필요한 곳 어디에서나 쓰일 수 있는 함수
return 구문을 적을 수 없음
여러 개의 인자를 전달 받음
return 구문을 적지 않아도 하나의 반환값을 돌려 줌
한 줄을 실행한 결과 값이 바로 반환
>>> g = lambda x, y : x * y
>>> g(2, 3)
6
>>> (lambda x: x * x)(3)
9
>>> globals()
{'__builtins__': <module 'builtins' (built-in)>, '__name__': '__main__', '__doc__': None, 'g': <function <lambda> at 0x1037229e0>, '__package__': None}
간단한 함수라면 람다를 사용하는 것이 편리
>>> def testLambda(g):
g(1, 2, 3)
>>> testLambda(lambda a, b, c : print("sum is ", \
a+b+c, ":type of a ", type(a) ,\
":list object is ", zip([a, b, c])))
sum is 6 :type of a <class 'int'> :list object is <zip object at 0x103743f80>
\를 이용해 여러 줄을 입력 가능
하지만 코드의 가독성이 떨어지고 오류를 유발할 수 있음