이 기사에서는 Python의 람다 함수와 이 함수가 필요한 이유에 대해 알아보고 람다 함수의 실제 예를 살펴보겠습니다.
'익명 함수'라고도 불리는 Lambda 함수는 이름 없이 정의될 수 있다는 점을 제외하면 일반 Python 함수와 동일합니다. >def 키워드는 일반 함수를 정의하는 데 사용되며 lambda 키워드는 익명 함수를 정의하는 데 사용됩니다. 그러나 한 줄 표현으로 제한됩니다. 일반 함수와 마찬가지로 여러 인수를 허용할 수 있습니다.
이 함수는 모든 입력을 허용하지만 표현식만 평가하고 반환합니다.
Lambda 함수는 함수 객체가 필요할 때마다 사용할 수 있습니다.
람다 함수는 구문상 단일 표현식으로 제한된다는 점을 기억해야 합니다.
함수의 다른 유형의 표현식 외에도 특정 프로그래밍 영역에서 다양한 용도로 사용됩니다.
람다 함수는 def 키워드를 사용하여 작성된 일반 Python 함수보다 더 적은 코드 줄이 필요합니다. 그러나 def를 사용하여 정의된 함수는 한 줄로 정의할 수 있으므로 이는 전적으로 사실이 아닙니다. 그러나 def 함수는 일반적으로 두 줄 이상으로 정의됩니다.
일반적으로 다른 기능(예: 필터, 맵 또는 축소) 내에서 더 짧은(임시) 기능이 필요할 때 사용됩니다.
람다 함수를 사용하면 함수를 정의하고 정의가 끝나면 즉시 호출할 수 있습니다. def 함수로는 불가능합니다.
실행되면 위 프로그램은 다음과 같은 출력을 생성합니다.
으아악실행되면 위 프로그램은 다음과 같은 출력을 생성합니다.
으아악실행되면 위 프로그램은 다음과 같은 출력을 생성합니다.
으아악이전 예에서 볼 수 있듯이 square() 및 lambda_square() 함수는 예상대로 동일하게 작동합니다. 이 예를 자세히 살펴보고 차이점을 알아보세요 -
람다 함수 사용 | 람다 함수 없음 |
---|---|
특정 값을 반환하는 한 줄 문을 지원합니다. | 기능 블록 내에서는 원하는 수의 라인을 허용합니다. |
소규모 작업이나 데이터 조작에 이상적입니다. | 이는 여러 줄의 코드가 필요한 상황에서 유용합니다. |
코드 가독성 감소 | 댓글과 기능 설명을 활용해 가독성을 높일 수 있습니다. |
목록 이해와 함께 Lambda 함수 사용
으아악실행되면 위 프로그램은 다음과 같은 출력을 생성합니다.
으아악목록 이해가 반복될 때마다 기본 매개변수 y를 사용하여 새 람다 함수가 생성됩니다(여기서 y는 반복의 현재 항목임). 나중에 for 루프에서 i()를 사용하여 기본 매개변수로 동일한 함수 객체를 호출하고 필요한 값을 얻습니다. 따라서 is_odd_list는 람다 함수 개체 목록을 보유합니다.
if-else 조건문과 함께 Lambda 함수 사용
으아악실행되면 위 프로그램은 다음과 같은 출력을 생성합니다.
으아악다중 문에 Lambda 함수 사용
으아악실행되면 위 프로그램은 다음과 같은 출력을 생성합니다.
으아악실행되면 위 프로그램은 다음과 같은 출력을 생성합니다.
으아악Python의 map() 함수는 함수와 목록을 매개변수로 받아들입니다. 람다 함수와 목록을 사용하여 호출하면 함수가 각 항목에 대해 반환하는 모든 람다 변경 항목이 포함된 새 목록을 반환합니다.
람다 및 map() 함수를 사용하여 모든 목록 요소를 소문자로 변환
으아악실행되면 위 프로그램은 다음과 같은 출력을 생성합니다.
으아악이 튜토리얼에서는 많은 예제를 통해 Python의 람다 함수에 대해 자세히 배웠습니다. 또한 람다 함수와 def 함수의 차이점도 배웠습니다.
위 내용은 Python의 람다 함수는 무엇이며 왜 필요한가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!