A frame contains bindings, which are pairs of variables and values. A function call creates a new frame whose parent is the current frame.
The first frame is the global frame.
In the following code:
x = 1 y = 2 def outer(): x = 3 y = 4 def inner(): x = 5 y = 6 return inner outer()()
there are three frames:
inner. Here are the bindings in each frame: