Ich versuche, mich mit Lambda-Ausdrücken, Closures und Scoping in Python zurechtzufinden. Warum stürzt das Programm hier nicht in der ersten Zeile ab?
>>> 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
>>>