UnboundLocalError en Python : résolution des problèmes de portée des variables
Le message d'erreur "UnboundLocalError : variable locale 'Var1' référencée avant l'affectation" indique qu'un la variable locale dans une fonction est accessible avant de lui attribuer une valeur. Dans le code fourni, la variable "Var1" n'est pas définie dans le cadre de "function()", mais elle est utilisée dans les instructions conditionnelles et l'instruction d'affectation à l'intérieur de la fonction.
Pour résoudre ce problème, il est nécessaire de déclarer les variables "Var1" et "Var2" comme variables globales au sein de la fonction. Les variables globales sont définies au niveau du module et sont accessibles depuis les fonctions. Pour déclarer ces variables comme globales, ajoutez la ligne suivante en haut de la fonction :
1 |
|
En déclarant les variables comme globales, l'interpréteur Python comprendra qu'elles doivent plutôt être résolues à partir de la portée au niveau du module. de créer des copies locales au sein de la fonction. Cela permettra à la fonction de référencer et de modifier les variables "Var1" et "Var2" comme prévu.
Remarque : L'utilisation de variables globales dans les fonctions doit être évitée lorsque cela est possible, car cela peut conduire à un code déroutant et sujet aux erreurs. Une meilleure pratique consiste à transmettre explicitement les variables de l'appelant à l'appelé en tant que paramètres ou à les renvoyer en tant que résultats.
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!