Variable locale et globale | Python
Il existe deux types de variables: les variables globales et les variables locales.
Une variable globale peut être atteinte n’importe où dans le code, une variable locale uniquement à l’intérieur d’un bloc de code.

La variable globale (A) peut être atteinte et modifiée n’importe où dans le code, la variable locale (B) n’existe que dans le bloc 3.
Variables locales:
Les variables locales ne peuvent être atteintes que dans leur portée. L’exemple ci-dessous a deux variables locales: a et b.
def add(a, b): res = a + b return res print(add(1,3))
Les variables a et b ne peuvent être utilisées qu’à l’intérieur de la fonction ‘add’, elles n’existent pas en dehors de la fonction.
Les variables locales ne peuvent pas être utilisées en dehors de leur portée, le code suivant ne fonctionnera pas:
def add(a,b): res = a + b return res print(add(1,3)) print(a)
Il affiche l’erreur suivant:
NameError: name 'a' is not defined
Variables globales:
Une variable globale peut être utilisée n’importe où dans le code.
Dans l’exemple ci-dessous, nous définissons une variable globale b:
b = 5 def show(): global b b = 10 show() print(b)
Sortie:
10
La variable globale b peut être utilisée tout au long du programme, à l’intérieur des fonctions ou à l’extérieur. Une variable globale peut être modifiée à l’intérieur d’une fonction et changer pour l’ensemble du programme. Après l’appel de la fonction show(), la variable globale est modifiée pour l’ensemble du programme.
Exercice:
Déterminer la sortie de ce programme:
b = 10 def f1(): global b b = 3 def f2(p,q): global b return p + q + b f1() res = f2(1,2) print(res)