TIL54. lambda 표현식

5285 단어 WeCodepythonWeCode

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를 사용하면 가독성 좋고 간결한 코드를 작성할 수 있다.

좋은 웹페이지 즐겨찾기