함수가 클로저로 생성되었을 때의 놀라운 동작
>>> def make_adders(addends):
... funcs = []
... for addend in addends:
... funcs.append(lambda x: x + addend) # ➊
... return funcs
...
>>> adders = make_adders([10, 100, 1000]) # ➋
>>> for adder in adders:
... print(adder(5))
...
1005
1005
1005
➊ 여기서 lambda는 특별한 동작을 하지 않습니다. def adder 내부 함수를 정의하여 같은 동작을 하게 할 수 있습니다.
➋ adders가 함수의 목록이라는 점에 주목하세요. 목록의 함수들은 순환 안에서 호출됩니다.