ROKO

[Python] lambda 본문

Computer Science/Programming Language

[Python] lambda

RO_KO 2023. 3. 4. 00:42
728x90
def func():
   pass

func = function(code, globals[, name[, argdefs[, closure]]])

두 코드 모두 func이라는 함수를 생성하는 과정이다. 복잡한 과정을 def가 해결해주는데 프로그램을 구현하는 입장에서 한번밖에 사용되지 않을 함수를 위해 위와 같이 함수를 선언하는 것은 메모리와 시간 손실을 일으킬 것이다. 함수의 목적중에 코드의 재사용이 있었다는 사실을 잊지 말자. 사용 후 del 연산자를 통해 메모리 관리를 한다고 하더라도 그 과정자체가 프로그램의 최적화 관점에서 손실이다.

 

그렇다면 함수가 실행되어야 하는 부분에 알고리즘을 복잡하게 쓰기에는 가독성이 떨어진다. 이를 위한 대안법으로 람다 함수가 있다.

lambda

def func(x):
   # do something
   return ret


lambda x : ret

함수가 lambda와 어떻게 대치되는지 간단히 작성한 의사코드이다.

 

728x90

'Computer Science > Programming Language' 카테고리의 다른 글

[Python] Error  (0) 2023.03.04
[Python] decorator  (0) 2023.03.04
[Python] function  (0) 2023.03.04
[Python] mutable vs immutable  (0) 2023.03.03
Comments