Les fonctions imbriquées python obtiennent des variables de la portée de la fonction

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