Python 3.0 introduces the nonlocal new reserved word. Using this new reserved word we can assign directly to a variable with the same name in the outer scope (instead of creating a new variable).
def a():
temp = 2
def b():
nonlocal temp
temp = 4
print("temp inside b ",temp)
b()
print("temp inside a ",temp)
a()
The following video clip explains a short code sample that uses the nonlocal reserved word.







