2024. 7. 2. 22:27
LLM FullStacker/Python
Python에서 lambda 키워드는 익명 함수(anonymous function)를 생성하는 데 사용됩니다. lambda 함수를 사용하면 이름 없이도 함수 객체를 생성할 수 있습니다. 일반적으로 lambda 함수는 간단한 기능을 수행하는 짧은 함수가 필요할 때 사용됩니다.
lambda 함수의 구문
lambda 키워드를 사용하여 함수를 정의하는 구문은 다음과 같습니다:
lambda arguments: expression
- arguments: 함수에 전달될 인수들입니다.
- expression: 함수가 반환할 표현식입니다.
예시
기본 사용 예시
# 일반 함수 정의
def add(x, y):
return x + y
# lambda 함수 정의
add_lambda = lambda x, y: x + y
# 함수 호출
print(add(2, 3)) # 5
print(add_lambda(2, 3)) # 5
리스트의 각 요소에 함수를 적용하는 예시
# lambda 함수를 사용하여 리스트의 각 요소에 2를 곱함
numbers = [1, 2, 3, 4, 5]
doubled = list(map(lambda x: x * 2, numbers))
print(doubled) # [2, 4, 6, 8, 10]
정렬 시에 키로 사용하는 예시
# lambda 함수를 사용하여 리스트를 정렬
pairs = [(1, 'one'), (2, 'two'), (3, 'three'), (4, 'four')]
# 두 번째 요소(문자열) 기준으로 정렬
pairs.sort(key=lambda pair: pair[1])
print(pairs) # [(4, 'four'), (1, 'one'), (3, 'three'), (2, 'two')]
lambda 함수와 일반 함수 비교
lambda 함수는 익명 함수로, 보통 한 줄로 표현되며, 작은 연산이나 함수 객체가 필요한 곳에서 주로 사용됩니다. 일반 함수는 def 키워드를 사용하여 이름이 있는 함수로 정의되며, 여러 줄로 이루어질 수 있고 복잡한 논리를 포함할 수 있습니다.
예시: lambda 함수와 일반 함수의 비교
# lambda 함수
multiply = lambda x, y: x * y
print(multiply(2, 3)) # 6
# 일반 함수
def multiply_def(x, y):
return x * y
print(multiply_def(2, 3)) # 6
사용 시 주의사항
- 간결성: lambda 함수는 단일 표현식만 포함할 수 있으며, 여러 문장을 포함할 수 없습니다. 따라서 복잡한 로직을 처리하기에는 적합하지 않습니다.
- 가독성: 짧고 간단한 경우에는 lambda 함수가 유용하지만, 너무 복잡한 경우 가독성을 해칠 수 있으므로 일반 함수를 사용하는 것이 좋습니다.
요약
- lambda 키워드는 익명 함수를 생성하는 데 사용됩니다.
- 간단한 함수나 일회성 함수 객체가 필요한 곳에서 유용합니다.
- 구문은 lambda arguments: expression 형태를 가지며, 단일 표현식만 포함할 수 있습니다.
- 일반 함수(def 사용)와 비교할 때, 더 간단하고 간결하지만 복잡한 로직에는 적합하지 않습니다.
이를 통해 lambda 키워드의 역할과 사용 방법을 이해할 수 있습니다.
'LLM FullStacker > Python' 카테고리의 다른 글
[Python] 튜플, 리스트, 딕셔너리 자료구조 이해 (7) | 2024.07.22 |
---|---|
[Python] poetry의 pyproject.toml 과 requirements.txt 차이점 (0) | 2024.07.02 |
[Python] Version Manager & Poetry 설치, 사용하기 (0) | 2024.06.17 |
[Dart] Dart 배우는 방법 (0) | 2014.12.31 |
[AngularDart] 앵귤러다트 배우는 방법 (0) | 2014.12.24 |