LEGB principle
Local Variables: variables defined inside of the function
Enclosed: Functions that are outside of this scope
Global: Module level, outside of any function
Built-in: Modules build in to python itself
global_variable = outside of any function def outerfunction() enclosed_variable: outerfunction scope def innerfunction local_variable: Innerfunction scope