Avatar ·

Pourquoi la variable globale est-elle inaccessible depuis la fonction ?

📁 fonction, Sujets avancés sur Python, IA

Dites-moi pourquoi la fonction n'affiche pas la valeur de s

s = "Je suis une variable globale"
def foo():
    print(s)
    r = 'Réinitialiser la variable globale'
foo()

Je supposais que lorsque l'interpréteur atteint la ligne print(s), il comprendrait que dans la portée de la fonction foo, il n'y a pas de telle variable. Par conséquent, il commencerait à la chercher dans la portée externe, mais elle y est.

Cependant, en résultat, le message d'erreur suivant s'affiche dans la console :

Traceback (most recent call last):