Les variables locales et globales dans une fonction
>>> def exemple ( ) :
a = 5
print (a)
>>> exemple ( )
5
>>> a
Traceback (most recent call last):
File "<pyshell#37>", line 1, in
a
NameError: name 'a' is not defined
>>> def exemple ( ) :
a = 5
return a
>>> exemple ( )
5
>>> a
Traceback (most recent call last):
File "<pyshell#41>", line 1, in
a
NameError: name 'a' is not defined
>>> def exemple ( ) :
a = 5
return a
>>> b = exemple ( )
>>> b
5
>>> a
Traceback (most recent call last):
File "<pyshell#46>", line 1, in
a
NameError: name 'a' is not defined
>>> b
5
>>> def exemple ( ) :
global a
a = 5
return a
>>> exemple ( )
5
>>> a
5
>>>
Voyez ce qui se passe lorsqu’on assigne la valeur exemple () à la variable b !
>>> var = 5 >>> def plus2 ( ) : global var var = var + 2 >>> var 5 >>> plus2 ( ) >>> var 7 >>> plus2 ( ) >>> var 9 >>>
Faites très attention lorsque vous passez une variable de espace de noms local d’une fonction à l’espace de noms global ! Ici la variable var de la fonction écrase la variable var de l’espace global !