함수는 코드의 재사용성을 높이는 데 매우 중요하지만, 때로는 간단한 기능을 수행하는 함수를 정의하는 것이 번거롭게 느껴질 수 있다. 파이썬에서는 이런 경우를 위해 람다 표현식이라는 기능을 제공한다.
✅ 람다 표현식이란?
람다 표현식은 이름 없는 한 줄짜리 함수를 생성하는 표현식이다. lambda 키워드를 사용하여 생성하며, 다음과 같은 구조를 가진다.
lambda arguments: expression
람다 표현식은 주로 함수의 인수로 전달되는 함수를 정의할 때 사용한다. 다음은 람다 표현식을 사용하는 간단한 예이다.
double = lambda x: x * 2
print(double(5)) # 10
이 코드는 주어진 수를 2배로 만드는 람다 표현식을 정의하고 있다. double 변수는 이제 함수처럼 동작하며, 인수로 전달된 값을 두 배로 만들어 반환한다.
✅ 람다 표현식을 직접 호출하기
람다 표현식을 정의하고 바로 호출하는 것도 가능하다. 이를 통해 불필요한 변수 선언을 줄일 수 있다.
print((lambda x: x + 1)(5)) # 6
✅ 람다 표현식에서 변수 생성 제한
람다 표현식은 이름이 없는 간단한 함수를 정의하는 것이 목적이므로, 본문에서 새로운 변수를 선언할 수 없다. 필요한 값은 외부에서 매개변수로 받아야 한다.
✅ 함수의 인자로 람다 표현식 활용하기
람다 표현식은 다른 함수의 인자로 사용되는 경우가 많다. map(), filter(), sort() 등의 내장 함수에서 이를 활용할 수 있다.
numbers = [1, 2, 3, 4, 5]
doubled = map(lambda x: x * 2, numbers)
print(list(doubled)) # [2, 4, 6, 8, 10]
✅ 매개변수가 없는 람다 표현식 정의하기
매개변수가 없는 함수를 람다 표현식으로 정의하는 것도 가능하다.
say_hello = lambda: "Hello, World!"
print(say_hello()) # "Hello, World!"
람다 표현식은 간결한 코드를 작성하고, 가독성을 향상시키는 좋은 도구이다. 이해하고 활용하면 파이썬 코드의 효율성을 높일 수 있다.