Portée de variable (ScopeError)
Citation de bik le 11 novembre 2024, 19 h 02 minJ'ai cette erreur : UnboundLocalError: local variable 'x' referenced before assignment. Que faire ?
J'ai cette erreur : UnboundLocalError: local variable 'x' referenced before assignment. Que faire ?
Citation de dominator le 11 novembre 2024, 20 h 03 minL'erreur UnboundLocalError survient lorsque vous essayez d'utiliser une variable locale avant de lui assigner une valeur dans une fonction. En Python, toute variable modifiée à l'intérieur d'une fonction est considérée comme locale, sauf si elle est explicitement déclarée comme globale.
Pour corriger cette erreur, vous avez deux options :
Assigner une valeur à la variable avant de l'utiliser dans la fonction.
Utiliser le mot-clé global si vous souhaitez utiliser une variable globale à l'intérieur de la fonction.
Exemples :# Option 1 : Initialiser la variable locale def ma_fonction(): x = 5 # Initialisez x localement print(x) ma_fonction() # Option 2 : Utiliser global x = 10 def autre_fonction(): global x # Utiliser la variable globale x x += 5 print(x) autre_fonction()
L'erreur UnboundLocalError survient lorsque vous essayez d'utiliser une variable locale avant de lui assigner une valeur dans une fonction. En Python, toute variable modifiée à l'intérieur d'une fonction est considérée comme locale, sauf si elle est explicitement déclarée comme globale.
Pour corriger cette erreur, vous avez deux options :
Assigner une valeur à la variable avant de l'utiliser dans la fonction.
Utiliser le mot-clé global si vous souhaitez utiliser une variable globale à l'intérieur de la fonction.
Exemples :
# Option 1 : Initialiser la variable locale
def ma_fonction():
x = 5 # Initialisez x localement
print(x)
ma_fonction()
# Option 2 : Utiliser global
x = 10
def autre_fonction():
global x # Utiliser la variable globale x
x += 5
print(x)
autre_fonction()