Las funciones anidadas de Python obtienen variables del alcance de la función

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