python3 lambda 표현식 상세 설명

기술적 배경


lambda 표현식 자체는 매우 기초적인python 함수 문법으로 그 기본 기능은 def가 정의한python 함수를 사용하는 것과 같다. 단지lambda 표현식은 기본적으로 한 줄 이내에서 전체 함수의 연산 논리를 완전하게 표현했다.여기서 우리는 참고로 lambda 표현식의 사용 예시를 간단하게 보여 줍니다.

이원구화


우선 우리는 가장 간단한 이원구화의 ipython 사례를 시도하고 두 개의 매개 변수 x와 y를 입력하여 이 두 요소의 합을 되돌려줍니다.

[dechin@dechin-manjaro 2021-python]$ ipython
Python 3.8.5 (default, Sep  4 2020, 07:30:14) 
Type 'copyright', 'credits' or 'license' for more information
IPython 7.19.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: sum2 = lambda x,y: x+y

In [2]: sum2(3,5)
Out[2]: 8


결합 맵 함수


일부 함수가 빈번하게 호출되는 장면, 예를 들어 볼록 최적화 알고리즘이나python의 맵 함수 실현 등은 맵 함수를 예로 삼아 lambda 함수의 사용법을 보여 준다.

In [9]: list(map(lambda x:x**2, range(10)))
Out[9]: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]


홀수를 빼다


def가 정의한python 함수에서 우리는 임의의python 형식의 코드를 실행할 수 있으나lambda표현식에서if와 같은 흔한 조건판단문장의 문법에 일정한 변화가 발생하려면 다음과 같은 예시를 참고할 수 있다.

In [19]: list(map(lambda x:x if x-(x>>1)*2==0 else None, range(10)))
Out[19]: [0, None, 2, None, 4, None, 6, None, 8, None]

이 사례는 하나의 수조를 입력하고 일부 연산을 거친 후에 짝수를 보존하고 None으로 모든 홀수를 대체하는 것을 보여 준다.이 안에 사용되는 연산자는 >>이위산자로, 상용//기호와 같다.그러나 이것은 매우 중시할 만하다. 왜냐하면 일부 언어에서 이위산자의 조작 속도가 네 가지 연산의 산자보다 높기 때문이다.

요약


본고는 주로 lambda표현식의 사용 예시를 보여 주었다. 이런 예시를 통해 우리는 lambda표현식의 상용 문법과 사용 장면을 알 수 있다.일반적인 상황에서 그 가장 큰 의미는python에서 함수의 정의 방식을 간소화하고 가독성에서def가 정의한 함수보다 훨씬 못하다.
이상은python3lambda표현식에 대한 상세한 내용입니다.python3lambda표현식에 대한 더 많은 자료는 저희 기타 관련 문장을 주목하세요!

좋은 웹페이지 즐겨찾기