본문 바로가기
실버를 위한 코딩/파이썬

[파이썬] 람다(lambda) 함수는?

by forSilver 2024. 3. 13.
반응형

람다(lambda) 함수는?

람다(lambda) 함수는 파이썬에서 간단한 한 줄짜리 함수를 작성할 때 사용되는 익명 함수입니다. '익명'이라는 말은 이 함수에 고유한 식별자가 없다는 의미입니다. 람다 함수는 보통 간단한 연산이나, 함수 인자를 필요로 하는 고차 함수에서 사용됩니다.

 

람다 함수의 기본 구조는 다음과 같습니다.

lambda arguments: expression

여기서 arguments는 함수로 전달되는 인자를 나타내며, expression은 함수의 결과값으로 평가되는 식입니다.

람다 함수의 몇 가지 주요 특징

  • 이름을 지정하지 않고도 함수를 즉시 정의하고 사용할 수 있습니다.
  • 람다 함수는 일반적으로 단일 표현식으로 구성되며, 이 표현식의 결과가 자동으로 반환됩니다.
  • 람다 함수는 map(), filter(), sorted() 같은 고차 함수의 인자로 넘겨주는 데 자주 사용됩니다.
  • 일반적으로 람다 함수는 간단하거나 일회성 사용을 위한 용도로 사용됩니다.

예를 들어, 숫자 두 개를 받아서 더하는 람다 함수는 다음과 같이 작성할 수 있습니다:

add = lambda x, y: x + y
print(add(5, 3))  # 출력: 8

이 예시에서 lambda x, y는 두 인자를 받는다는 것을 의미하고, x + y는 이 두 인자를 더한 값을 반환한다는 것을 의미합니다. add는 이 람다 함수에 주어진 이름이지만, 람다 함수 자체는 이름이 없습니다.

lambda 함수 사례

 

람다 함수는 일반적인 함수와 비교하여 제약사항이 몇 가지 있습니다:

  • 단일 표현식만을 포함할 수 있으므로, 여러 개의 복잡한 명령을 실행할 수 없습니다.
  • 명령문을 사용할 수 없으며, 오로지 값이 반환되는 표현식만을 사용할 수 있습니다.
  • 람다 함수 내부에서는 새로운 변수를 할당할 수 없습니다.

정리

람다 함수는 작은 함수가 간편하게 필요한 경우에 유용하지만, 복잡한 로직이나 다중 행 함수가 필요한 경우에는 일반 함수 정의를 사용하는 것이 더 적절합니다.