파이썬에서 람다 식, 클로저 및 범위 지정에 대한 내 머리를 얻으려고합니다. 왜 프로그램이 첫 번째 줄에서 충돌하지 않습니까? 당신이 그것을 호출 할 때까지파이썬 람다 동작
>>> foo = lambda x: x + a
>>> foo(2)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 1, in <lambda>
NameError: global name 'a' is not defined
>>> a = 5
>>> foo(2)
7
>>>