Dans mon programme, je ne voulais une variable globale que dans certaines circonstances. Dites qu'il ressemble à ceci:Comment 'global' se comporte-t-il sous une instruction if?
a = 0
def aa(p):
if p:
global a
a = 1
print("inside the function " + str(a))
print(a)
aa(False)
print("outside the function " + str(a))
j'attendais que le résultat soit:
0
inside the function 1
outside the function 0
Cependant, il est avéré être:
0
inside the function 1
outside the function 1
Alors, je me disais: « D'accord peut-être que le compilateur Python rend la variable globale chaque fois qu'il voit le mot-clé 'global', peu importe où il se trouve ". Est-ce ainsi que Python fonctionne avec les variables globales? Suis-je un malentendu?