Call stack
From DocForge
The call stack is a record of method recursion used to determine where the continue program execution after a method returns. A stack of locations in the execution memory is used because the last location in memory at which the CPU was executing code is the one that the application needs to return to after any method, process, or routine has finished executing. In this manner every single part of the program can be executed in turn until the machine shuts down (the very last location on the call stack).
In Python a device called a Generator allows a method to temporarily return control to the calling code and then resume execution at a later time, which effectively circumvents the call stack in every way.

