Notion de bloc- portée d'une variable (1/4)
Définition : blocs de code
Un programme Python est construit à partir de blocs de code. Un bloc est un morceau de texte de programme Python qui est exécuté en tant qu'unité. Les éléments suivants sont des blocs : un module, un corps de fonction et une définition de classe.
Exemple : Existence d'une variable
Une variable existe dès qu'une valeur lui est affectée
a = float(input("Entre un nombre "))
if a > 0:
b = 17
else:
c = -25
print(b)
si la valeur de a entrée au clavier est plus grande que 0 alors la variable b sera connue (la ligne b= 17 est exécutée par python) et la valeur de b sera affichée.
si la valeur de a entrée au clavier est plus petite que 0 alors la variable b est inconnue (la ligne b= 17 n'est jamais exécutée par python) et le message d'erreur connue NameError: name 'b' is not defined
Exemple : La résolution des noms
La résolution des noms est faite lors de l'exécution, pas lors de la vérification de la syntaxe.
i = 10
def f():
print(i)
i = 42
f()
Le programme affiche 42
Les lignes sont exécutées dans l'ordre suivant : 1 - 4 - 5 - 2 - 3
Attention : Lancer plusieurs exemples dans la console python
Lorsqu'un exemple est lancé dans la console python, les variables sont créées. Si vous lancez un second exemple, le contexte précédent est conservé.
Ainsi lancer :
a = 12
if a > 0:
b = 17
else:
c = -25
print(b)
Puis
a = -3
if a > 0:
b = 17
else:
c = -25
print(b)
Ne donnera pas d'erreur puisque la variable b est déjà connue.