[Python] lambda 이해
분야
프로그래밍/소프트웨어 개발
대상 독자
Python을 사용하는 개발자 및 함수형 프로그래밍 개념을 이해하고자 하는 개발자
핵심 요약
- *lambda 키워드는 익명 함수를 생성하는 데 사용되며, 단일 표현식**만 포함할 수 있습니다.
- 구문: lambda arguments: expression
- 사용 목적: 간단한 연산이나 함수 객체가 필요한 곳에서 활용
- 한계: 복잡한 논리 처리에는 적합하지 않으며, 가독성이 저하될 수 있음
- 비교: 일반 함수(def
)와 달리 단일 문장만 포함 가능
섹션별 상세 설명
- 기본 구문과 사용법
- lambda
는 함수 이름 없이 즉시 정의할 수 있는 익명 함수 생성
- 예: lambda x: x * 2
→ 입력값을 2배로 변환하는 함수
- map
, sort
등 고차 함수와 결합해 데이터 처리에 유용
- 일반 함수와의 차이
- 구조: def
는 여러 줄로 구성 가능, 복잡한 논리 처리 가능
- 가독성: 단순한 작업에는 lambda
가 유리하지만, 복잡한 로직은 def
로 작성 권장
- 재사용성: lambda
는 일회성 사용에 적합, 반복 사용 시 def
로 정의하는 것이 더 효율적
- 사용 사례
- 데이터 변환: map(lambda x: x*2, numbers)
→ 리스트 요소 2배 처리
- 정렬 키 설정: sort(key=lambda pair: pair[1])
→ 튜플의 두 번째 요소 기준 정렬
- 간단한 계산: lambda x, y: x * y
→ 곱셈 연산 수행
- 제한 사항
- 단일 표현식만 포함 가능 (여러 문장 사용 불가)
- 가독성 저하: 복잡한 로직은 def
로 작성하는 것이 유지보수에 유리
- 이름 부여 불가: 익명 함수이므로 재사용 시 이름을 붙여야 함
결론
- lambda
는 간결성과 즉시 실행에 유리한 기능으로, 간단한 작업이나 함수 객체가 필요한 경우에 적합
- 복잡한 로직이나 재사용성이 필요한 경우는 def
로 정의하는 것이 더 나은 선택
- 가독성과 유지보수성을 고려해 lambda
사용 범위를 제한적으로 활용해야 함
- lambda
는 Python의 함수형 프로그래밍 패러다임을 이해하는 데 중요한 개념으로, 적절한 사용 시 코드 간결성에 기여함