본문 바로가기
Python

파이썬 람다 함수 쉽게 이해하기 (Python Lambda Function)

by 무적물리 2020. 6. 29.

파이썬을 사용하다보면 def 으로 시작하는 함수를 만들어 사용하는 일이 많습니다. 짧은 코드를 작성함에 있어 함수를 만들어 사용하는 것은 문제가 되지 않지만 많은 함수가 사용될 때는 람다함수를 사용하는 것이 좋습니다. 그 이유로, 람다함수는 함수를 한줄로 표현하기 때문입니다. 이번 포스팅에서는 간단히 람다함수에 대해 알아보겠습니다.



파이썬 람다 함수 쉽게 이해하기


람다함수 기본 문법

람다함수는 사용할 인자와 표현식의 조합으로 사용됩니다. 람다함수의 장점은 코드의 간결함으로 인한 메모리 절약이며, 단점은 기본 함수와 비교하여 직관적으로 이해하기 어렵다는 것입니다. 기본 문법은 아래와 같으며, 예제는 아래 절에서 다뤄보도록 하겠습니다.


람다함수 기본 문법

함수명 = lambda 인자 : 표현식


람다함수 장점

코드의 간결화, 메모리 절약


람다함수 단점

비교적 직관적으로 이해하기 어려움



람다함수 예제 #1 : 더하기 함수

기본 문법에 대해 알아보았으니, 가장 간단한 더하기 함수를 예제로 람다함수 사용법에 대해 알아보겠습니다. 아래 두 함수는 동일한 결과를 반환하는 함수입니다.


# 기존 함수

def add_func(x, y):

    return x+y

add_func(1, 2)


# 람다 함수

add_func = lambda x,y: x+y

add_func(1, 2)


위 두 함수는 동일한 함수입니다. 이와 같이 람다함수를 구성하면 좀 더 간편하게 함수를 구성할 수 있습니다. 익숙해진다면 간단하게 사용할 함수는 람다함수를 이용하는 것이 공수를 줄일 수 있는 방법입니다.


람다함수 예제 #2 : if 함수

람다함수를 사용해서 if 함수 역시 구성할 수 있습니다. 사칙연산에 해당하는 람다함수보다 비교적 어려운 방법이지만 이 또한 한번 익숙해진다면 람다함수의 매력에서 빠져나올 수 없습니다. 다만, 익숙해지기가 조금 어렵습니다.


# 기존 함수

def. if_func(x):

    if x<=1:

        return x+1

    else:

        return "HelloWorld"

if_func(0)


# 람다 함수

if_func = lambda x: x+1 if x<=1 else "Helloworld"

if_func(0)


보시는 바와 같이 5줄의 if 함수를 한줄의 람다함수로 줄일 수 있는 것을 확인하실 수 있습니다. 익숙해지기만 한다면 유용하게 사용될 수 있는 람다함수입니다. 저 또한 매번 찾아서 람다함수를 사용해야 때문에 이렇다 말씀드릴 상황은 아니지만 말입니다.


마치며

이번 포스팅에서는 람다함수의 기본 문법에 대해 알아보았습니다. 개인적으로 람다함수를 많이 사용하려고 노력은 하지만 아직 손에 익지 않는 것은 사실입니다. 여러분들은 람다함수를 잘 익혀서 잘 사용하시면 좋겠습니다. 코드를 작성함에 있어 편의가 필요한 코드는 람다함수로 작성하고 직관적 이해가 필요한 함수는 기본 함수로 작성하는 것이 좋습니다.


댓글