Python Language Variables locales


Exemple

Si un nom est lié à l' intérieur d'une fonction, il est accessible par défaut uniquement dans la fonction:

def foo():
    a = 5
    print(a) # ok

print(a) #  NameError: name 'a' is not defined

Les constructions de flux de contrôle n'ont aucun impact sur la portée (à l'exception de except ), mais l'accès à la variable qui n'a pas encore été attribué est une erreur:

def foo():
    if True: 
        a = 5
    print(a) # ok

b = 3
def bar():
    if False:
        b = 5
    print(b) # UnboundLocalError: local variable 'b' referenced before assignment

Les opérations de liaison communes sont des affectations, for boucles et des affectations augmentées telles que a += 5