본문 바로가기

Programming/python

python lambda에 대해서 알아보자

파이썬에서 람다(lambda)는 간단한 익명 함수를 생성하는데 사용되는 함수입니다. 

람다 함수는 `lambda` 키워드를 사용하여 정의하며, 주로 간단한 연산을 수행하는 함수를 한 줄로 표현할 때 유용합니다. 일반적으로 함수를 정의하기 위해 `def` 키워드를 사용하지만, 람다 함수는 더 간단하게 함수를 만들 수 있습니다.

람다 함수의 구문은 다음과 같습니다:

lambda arguments: expression



- `arguments`: 람다 함수의 매개변수들입니다.
- `expression`: 매개변수를 이용하여 계산하고 반환할 표현식입니다.

람다 함수는 단일 표현식만을 사용할 수 있기 때문에, 복잡한 함수를 정의하기에는 적합하지 않습니다.

주로 간단한 함수나 콜백 함수 등을 정의할 때 사용되며, `map()`, `filter()`, `sorted()` 등과 함께 자주 사용됩니다.

예를 들어, 두 수를 더하는 간단한 람다 함수를 정의하고 사용해보겠습니다:

add = lambda x, y: x + y
result = add(3, 5)
print(result)  # Output: 8


위 예제에서 `lambda x, y: x + y`는 두 개의 인자 `x`와 `y`를 받아서 더하는 람다 함수입니다. `add` 변수에 할당된 람다 함수를 호출하여 결과를 출력합니다.

 


 

추가로 if문에서 lamba에 대한 사용법을 알아보겠습니다. 
람다 함수를 `if` 문과 함께 사용하면 조건에 따라 다른 함수를 반환하는 데 유용하게 활용할 수 있습니다.

예를 들어, 입력된 숫자가 짝수인지 홀수인지를 판별하는 람다 함수를 `if` 문으로 정의하고 사용해보겠습니다:

check_even_odd = lambda x: 'Even' if x % 2 == 0 else 'Odd'

num = 7
result = check_even_odd(num)
print(f"The number {num} is {result}.")  # Output: The number 7 is Odd.

num = 10
result = check_even_odd(num)
print(f"The number {num} is {result}.")  # Output: The number 10 is Even.



위 예제에서 `check_even_odd` 람다 함수는 `x`라는 인자를 받아서 `x`가 짝수인지 홀수인지를 판별합니다. 

`if` 문을 이용하여 조건에 따라 'Even' 또는 'Odd'를 반환하도록 정의되었습니다.

람다 함수를 `if` 문과 함께 사용함으로써 간단한 조건 로직을 간결하게 표현할 수 있습니다.

이와 같이 람다 함수는 한 줄로 간단한 함수를 표현할 때 유용하며, `if` 문과 함께 활용하면 코드를 더욱 간결하게 작성할 수 있습니다.


람다 함수는 또 다른 함수에 전달되거나, 리스트 컴프리헨션과 함께 사용되어 쉽게 코드를 작성하는 데에 유용합니다. 

하지만 코드의 가독성을 높이기 위해, 복잡한 함수의 경우에는 람다 대신 일반적인 함수를 사용하는 것이 좋습니다.

반응형