Bonjour,

J'avais cru comprendre qu'une variable déclarée hors-fonction était reconnu dans les fonctions, si je retire global a, j'ai un message d'erreur m'indiquant que la variable n'est pas assignée, pourtant je l'assigne avant l'appel à la fonction :



Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
def toto():
    global a  #   Obligation de la déclarer en globale, c'est normal ?
    print(a)
    a=1
    print(a)
 
a=2   # Assignation de la variable
toto()
Donne :
2
1


Pourquoi dois-je la déclarer en global dans la fonction, c'est normal ?