Référence des variables non résolues : comprendre l'erreur « UnboundLocalError » dans Python 3
L'extrait de code fourni a rencontré l'exception « UnboundLocalError », indiquant que il référence une variable locale (« Var1 ») avant de lui attribuer une valeur. Cela se produit lorsque le nom de la variable est déclaré dans une fonction, mais qu'aucune valeur ne lui est attribuée avant son utilisation.
Pour rectifier cette erreur, nous approfondissons les nuances de la portée des variables dans Python 3. Alors que le Le code déclare initialement « Var1 » comme variable globale, l'instruction d'affectation « Var1 -= 1 » dans la fonction crée une variable locale appelée « Var1 ». Cela modifie la variable locale de la fonction, pas la variable globale déclarée à l'extérieur.
Pour utiliser des variables globales dans une fonction, Python 3 fournit le mot-clé 'global'. En ajoutant « global Var1, Var2 » au début de la fonction, nous indiquons explicitement que nous avons l'intention de référencer les variables globales nommées « Var1 » et « Var2 » dans la portée de la fonction. Cela empêche la création de variables locales portant les mêmes noms, résolvant ainsi l'erreur 'UnboundLocalError'.
Dans Python 3, l'instruction 'nonlocal' existe également pour manipuler des variables définies dans une portée englobante. Cependant, « nonlocal » est généralement utilisé lors de l'imbrication de fonctions, ce qui n'est pas le cas dans le code fourni.
Pour plus d'informations sur la portée des variables et la gestion des erreurs, le site Web Python et la documentation associée constituent des ressources précieuses. En comprenant les principes du référencement des variables et en exploitant les mots-clés appropriés, les développeurs Python peuvent gérer efficacement la portée des variables et éviter de telles erreurs d'exécution.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!