Portée des variables

Les arguments d’une fonction n’existent que dans le corps de celle-ci:

def dire_bonjour(prénom):
    print("Bonjour " + prénom)

dire_bonjour("Dimitri") # Ok
print(prénom)  # Erreur

Les variables en dehors des fonctions sont disponibles partout:

salutation = "Bonjour "

def dire_bonjour(prénom):
    print(salutation + prénom)

dire_bonjour("Dimitri")

Une variable peut avoir en « cacher » une autre si elle a une portée différente:

prénom = "Dimitri"   # portée: dans tout le programme

def dire_bonjour():
    prénom = Max  # portée: uniquement dans
                  # le corps dire_bonjour

    print("Bonjour " + prénom)
    # affiche: Bonjour Max

print("Bonjour " + prénom) j
# affiche: Bonjour Dimitri