본문 바로가기
판다스/기초 파이썬

[python] 6.4. 함수 - lambda 함수

by 김판다t 2024. 11. 13.

데이터 분석 입문을 위한 기초적인 파이썬 내용을 다룹니다. 데이터 분석은 주로 파이썬의 라이브러리인 판다스를 활용해 이루어지며, 이를 위해 기본적인 파이썬 개념에 대한 이해가 필요합니다. 하지만 이것은 파이썬을 완벽하게 숙달해야 한다는 의미는 아닙니다. 그렇기에 판다스와 데이터 분석에 입문할 수 있도록 핵심 파이썬 개념을 간략하게 제공할 것입니다.

 

 

6.4. lambda 함수

 

lambda 함수

 

lambda 함수는 파이썬에서 함수를 정의하는 또 다른 방법입니다. 일반적인 def로 정의한 함수와 동일한 기능을 제공하지만, 코드가 간결하고 함수명을 지정하지 않아도 되며 줄 바꿈이 없어 특정 상황에서 효율적으로 사용할 수 있는 장점이 있습니다. 

lambda 함수는 매개변수와 return에 입력될 반환 값만으로 구성되며, 함수명을 설정하지 않습니다.

 

lambda 함수의 활용

 

lambda 함수도 인수를 입력받을 수 있습니다.

# lambda 함수에 인수 2를 입력
(lambda x: x + 1)(2)  # 결과: 3

 

하지만 lambda 함수는 인수를 받아 처리하는 용도로는 거의 사용되지 않습니다. 이러한 기능은 def로 함수를 정의하여 함수명을 설정한 뒤, 해당 함수명을 통해 인수를 입력하고 호출하는 것이 더 편리합니다.

 

lambda 함수는 일반적으로 다른 함수의 인수로 전달될 때 사용됩니다. 한 줄로 정의할 수 있어, 한 번만 사용할 간단한 함수를 즉석에서 정의하기에 적합합니다.

lst1 = [1, 2, 3]

# 함수를 인수로 전달받는 map 함수에 lambda 함수를 전달
list(map(lambda x: x + 1, lst1))  # 출력 결과: [2, 3, 4]

 

map 함수는 학습하지 않았지만, 함수를 인수로 전달받는 함수의 예시로 사용되었습니다. 데이터 분석에서 자주 사용되는 다른 라이브러리에도 이와 유사한 함수들이 많으며, 이러한 함수들과 함께 사용할 때 lambda 함수의 효용성이 더욱 드러납니다. 결론적으로, lambda 함수는 함수를 인수로 하는 함수에 간단한 사용자 정의 함수를 전달할 때 유용합니다. 

 

 

판다스와 lambda 함수

 

※ 판다스는 기초 파이썬과 직접 관련이 없으므로, 추후 판다스를 학습한 후에 확인하셔도 됩니다.

데이터 분석, 특히 판다스에서 사용자 정의 함수를 사용할 때는 def로 정의된 함수보다 lambda 함수를 훨씬 더 많이 사용하므로, 반드시 알아두어야 하는 용법입니다. 다만, lambda 함수는 단지 함수를 정의하는 또 다른 방법이라는 점을 이해하고, 이후에 함수를 인수로 하는 함수를 학습할 때 다시 공부해도 됩니다. 


 

유튜브에서 판다스 강의 중입니다.

https://www.youtube.com/@KimPandas