더북(TheBook)

다음과 같이 f로 람다 함수를 참조하면 이후 f를 함수처럼 사용할 수 있습니다.

>>> f = lambda x: x ** 2

>>> f(2)

4

>>> f(5)

25


람다 함수를 자세히 보면 값을 반환하는 return 문이 없습니다. 또한 람다 함수의 몸체에는 반드시 식이 들어가야 합니다.

>>> f1 = lambda li, idx: li[idx]

>>> f2 = lambda li, idx, value: li[idx] = value

SyntaxError: can't assign to lambda


f1은 람다 함수를 잘 참조하는 반면, f2는 람다 함수를 참조하려 하지만 오류가 발생합니다. 그 이유는 람다 함수 몸체에 있는 li[idx] = value가 할당문(assignment statement)이기 때문입니다. 즉, 식이 아니기 때문에 오류가 발생한 것입니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.