함수의 다른 형태 lambda
1. lambda
lambda 함수는 Python의 강력한 도구 중 하나로, 간결한 함수를 빠르고 익명으로 생성할 수 있게 해줍니다. lambda 함수는 작은 규모의 함수를 정의할 때 사용되며, 코드를 더욱 깔끔하고 효율적으로 만들 수 있습니다.
1.1 Lambda 함수의 정의와 사용
Lambda 함수는 다음과 같은 형식으로 정의됩니다:
lambda parameters: expression
lambda parameters: expression
여기서 arguments
는 함수에 전달되는 매개변수를 나타내며, expression
은 이 매개변수를 사용하여 계산되는 표현식을 나타냅니다. 이 표현식의 결과값이 함수의 반환값이 됩니다.
- parameters: 람다 함수의 매개변수입니다. 여러 개의 매개변수를 쉼표(,)로 구분하여 지정할 수 있습니다.
- expression: 람다 함수에서 실행할 표현식입니다. 이 표현식은 매개변수를 이용하여 값을 계산하고, 계산된 값을 반환합니다.
단일 매개변수를 받아 그 제곱을 반환하는 람다 함수의 예시입니다.
1.2 람다 함수의 특징
람다함수는 이름을 붙일 수도 있지만 대다수의 경우 아래처럼 다른 함수에 이름 없이 인자로 전달이 가능합니다.
이는 같은 기능을 하는 아래 코드보다 더욱 간결한 코드를 작성할 수 있게 해줍니다.
이 코드는 아래와 같이 표현도 가능합니다.
다만 람다함수가 장점만 있는 것은 아닙니다. 람다 함수는 복잡한 로직을 구현하기에는 적절하지 않습니다. 만약 복잡한 로직을 구현해야 할 경우에는 함수로 구현하여 가독성을 높이세요.
2. 나아가기
람다 함수는 고차 함수(higher-order function)와 함께 사용하여 코드의 유연성을 높일 수 있습니다. 예를 들어, map
, filter
와 같은 내장 함수들과 함께 람다 함수를 사용하면 다음과 같이 좀 더 편리하게 코드를 구현할 수 있습니다은 효과를 얻을 수 있습니다: