Portée des variables (Variable Scope)
La portée fait référence à la région d'un programme où une variable est accessible. Comprendre la portée évite les bogues où les variables changent de manière inattendue ou sont indisponibles.
1. Portée locale
Les variables définies à l'intérieur d'une fonction sont locales. Elles n'existent que pendant l'exécution de la fonction et ne peuvent pas être accédées de l'extérieur.
python def my_function(): local_var = 100 # Portée locale print(local_var)
my_function() # Sortie : 100
print(local_var) # NameError: name 'local_var' is not defined
2. Portée globale
Les variables définies à l'extérieur de toute fonction sont globales. Elles peuvent être accédées de n'importe où dans le module.
python global_count = 0
def increment_count(): # Les fonctions peuvent LIRE les variables globales print(f"À l'intérieur de la fonction, le compte global est : {global_count}")
increment_count()
Le mot-clé global
Si vous devez modifier une variable globale depuis une portée locale, vous devez explicitement le déclarer à l'aide du mot-clé global.
python global_setting = 'Off'
def toggle_setting(): global global_setting # Déclaration de l'intention de modifier la variable globale global_setting = 'On' print(f"Paramètre basculé sur : {global_setting}")
toggle_setting() print(f"À l'extérieur de la fonction : {global_setting}") # Sortie : On