본문 바로가기

컴퓨터/Python

람다 함수

이름이 없고 함수 객체만 존재하는 익명 함수

필요한 곳 어디에서나 쓰일 수 있는 함수

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>

\를 이용해 여러 줄을 입력 가능
하지만 코드의 가독성이 떨어지고 오류를 유발할 수 있음

'컴퓨터 > Python' 카테고리의 다른 글

pass  (0) 2013.07.08
재귀적 함수 호출  (0) 2013.07.08
함수 인자  (0) 2013.07.04
스코핑 룰  (0) 2013.07.03
인자 전달  (0) 2013.07.03