Funkcje zagnieżdżone Python otrzymują zmienne z zakresu funkcji

def a():
    val = True
    def b():
        nonlocal val
        val = False
just-saved-you-a-stackoverflow-visit