파이썬(Python)/문법

[Python] 람다 함수란? 사용하는 목적(Lambda Function, Why)

끄적끄적아무거나 2022. 6. 23. 08:45
반응형

 

목차

     

     

    파이썬 람다 함수(Lambda Function)란? 

     

    파이썬의 람다함수는 인자 값(arguments)들을 이용해서 하나의 표현으로 처리하는 함수를 의미합니다. Sytax는 아래와 같습니다.

     

    lambda arguments : expression

     

    arguments에는 인자 값을 입력하고 expression에 함수식을 입력합니다.

     

    아래 예제를 통해 쉽게 이해해 보겠습니다. 

     

     

    예제 코드>>

    lam_func = lambda a, b : (a + b)/10
    print(lam_func(2,8))

    1번 라인: 인자로 a, b를 넣고 함수는 (a+b)/10로 설정함

     

    결과>>

    1.0

     

     

    위와 같이 함수를 1줄로 정의해서 간단하게 제작하였습니다. 

     

    인자 수는 원하는데로 여러개를 가지고 갈 수 있습니다.

     

     

     

     

     

     

    파이썬 람다 함수(Lambda Function) 사용 목적

     

    위의 예제와 같이 함수를 한줄로 간단하게 정의해서 사용하는 목적도 있지만 일반적으로 return과 함께 사용해서 함수를 중첩이로 이용합니다. 중첩으로 이용하게 되면 하나의 함수에서 다른 입력 값을 넣는 또 다른 함수를 제작할 수 있게 됩니다.

     

    설명보다는 아래 예제를 보시면 쉽게 이해하실 수 있습니다.

     

     

    예제 코드>>

    def func(x):
      return lambda var_a : var_a ** x
    
    lam_func0 = func(2)
    lam_func1 = func(3)
    
    print(lam_func0(2))
    print(lam_func1(2))

    1번 라인: func라는 함수를 정의, 입력으로 x 값을 받습니다.

    2번 라인: return으로 lamdba를 전달합니다.즉, 람다 함수를 전달하게 됩니다. 람다 함수는 var_a라는 함수를 받습니다.

    4번 라인: 람다 함수를 리턴으로 받고 입력을 넣으면 2에 제곱승을 합니다.

    5.번 라인: 람다 함수를 리턴으로 받고 입력을 넣으면 3에 제곱승을 합니다.

     

     

    결과>>

    4
    8

     

    반응형