A variable defined in one part of a program does not need to be known in other parts. All program units to which a certain variable is known are called the scope of that variable. We'll first give an example. Let's consider the two nested functions:
e = 3
def my_function(in1):
a = 2 * e
b = 3
in1 = 5
def other_function():
c = a
d = e
return dir()
print(f"""
my_function's namespace: {dir()}
other_function's namespace: {other_function()}
""")
return a
The execution of my_function(3) results in:
my_function's namespace: ['a', 'b', 'in1', 'other_function'] other_function's namespace: ['a', 'c', 'd']
The variable e is in the namespace of the program unit that encloses the function my_function. The variable...