L'instruction global en Python
Supposons que nous ayons une variable globale externe
i. Il y a aussi une fonction
func qui ajoute un à cette
variable :
i = 0
def func():
i += 1 # affichera une erreur
return i
Après l'exécution du code, une erreur sera renvoyée,
car il y a un conflit entre la variable globale
i, déclarée dans le code externe, et la
variable locale i, à laquelle on ajoute
1, mais la variable elle-même n'est pas encore
déclarée. Pour corriger ce
problème et faire en sorte que la fonction travaille avec la
variable globale, il faut utiliser
l'instruction global. Cette instruction
est une déclaration qui
s'applique à tout le bloc de code actuel
dans lequel elle est définie.
Réécrivons l'exemple précédent en déclarant
global dans le corps de la fonction :
def func():
global i
i += 1
return i
print(func()) # affichera 1
Dans le code suivant, un certain programmeur a fait une erreur :
num = 4
def func():
num *= 2
return num
print(func())
Qu'est-ce qui ne va pas avec ce code ? Trouvez et corrigez l'erreur de l'auteur du code.
Dans le code suivant, un certain programmeur a fait une erreur :
num = 10
def func():
num -= 3
return i
print(func())
Qu'est-ce qui ne va pas avec ce code ? Trouvez et corrigez l'erreur de l'auteur du code.