What does “nonlocal” do in Python 3?
Compare this, without using nonlocal: x = 0 def outer(): x = 1 def inner(): x = 2 print(“inner:”, x) inner() print(“outer:”, x) outer() print(“global:”, x) # inner: 2 # outer: 1 # global: 0 To this, using nonlocal, where inner()‘s x is now also outer()‘s x: x = 0 def outer(): x = 1 … Read more