더북(TheBook)

파이썬 클로저의 익숙한 동작 방식

>>> def make_adders(addends):
...     funcs = []
...     for addend in addends:
...         funcs.append(lambda x, *, _addend=addend: x + _addend)
...     return funcs
...
>>> adders = make_adders([10, 100, 1000])                     # ➊
>>> for adder in adders:
...     print(adder(5))
...
15
105
1005

adders는 (람다) 함수 객체의 목록입니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.