TIL54. lambda 표현식
lambda 란?
- 인라인 함수를 정의할 때 사용하며 익명함수 또는 람다 표현식이라고 부른다.
lambda의 기본 형식
lambda argument1, argument2, ... argumentN : expression using arguments
lambda의 실제 예제
f = lambda x,y,z : x+y+z print(f) # <function <lambda> at 0x10343e710> print(f(1,2,3))
결과값:
<function <lambda> at 0x7f8f40ed3040>
6
위의 예제를 def 함수로 정의하면 아래와 같다
def add_func(x,y,z): return x+y+z
lambda는 언제 쓰면 좋을까?
- 람다 표현식은 간단한 인라인 콜백함수를 만들거나 함수안에서 복잡한 처리를 할 수 없을 때
유용하다고 할 수 있습니다.
콜백함수란 어떤 이벤트가 발생했을때 호출되는 함수인데 콜백함수가 여러블록으로 구성된 실행문이 아니고 다른 컴포넌트에서 사용되지 않는다면 해당 컴포넌트만을 위한 람다 표현식이 적절할 것 입니다.
def square(x): return x ** 2 def power_3(x): return x ** 3 def power_4(x): return x ** 4 powers = [ square, power_3, power_4 ] for f in powers: print( f(2) )
결과값을 출력해보면
4
8
16
위의 예제를 lambda로 간단하게 표현하면 아래와 같다.
LAMBDAS = [ lambda x : x ** 2, lambda x : x ** 3, lambda x : x ** 4 ] for i in LAMBDAS: print(i(2))
결과값은 동일하게
4
8
16
위의 두 예제처럼 lambda를 사용하면 가독성 좋고 간결한 코드를 작성할 수 있다.
Author And Source
이 문제에 관하여(TIL54. lambda 표현식), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@dnjs0718/TIL54.-lambda-표현식저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)