lambda - python

물론 이름을 부여할 수 있긴 함. 변수에 할당시키면 되거든.

일반 함수랑 다른점은 참조 카운팅이 없다 라는 것이다. => 사용된 다음 소멸된다...? 변수가 소거되는거에 대한 규칙은 다음에 알려준다.

lambda가 사용되는 곳 - map - filter - max - min - sorted

재사용이 필요해 보이는 건 함수를 선언하고, 일회성으로 끝날 것 같으면 람다를 사용하라.

### 아래의 익명함수들은 calculator가 카운팅을 하게 된다. 따라서 여러번 재사용이 가능하다. 
calculator = [
    lambda x, y: x + y,
    lambda x, y: x - y,
    lambda x, y: x * y,
    lambda x, y: x / y,
]

for calc in calculator:
    print(f'calc result between 1, 2 is {calc(1, 2)}')
def f():
    return lambda x, y: x + y

print(f()(1, 2))

# 람다를 클로저로 사용할 수도 있다.
def ff():
    return lambda x: lambda y: x + y

print(ff()(1)(2))