Notion de bloc- portée d'une variable (1/4)

Définitionblocs 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.

ExempleExistence d'une variable

Une variable existe dès qu'une valeur lui est affectée

1
a = float(input("Entre un nombre "))
2
if a > 0:
3
    b = 17
4
else:
5
    c = -25
6
print(b)
7
8

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

ExempleLa 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.

1
i = 10
2
def f():
3
    print(i)
4
i = 42
5
f()

Le programme affiche 42

Les lignes sont exécutées dans l'ordre suivant : 1 - 4 - 5 - 2 - 3

AttentionLancer 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 :

1
a = 12
2
if a > 0:
3
    b = 17
4
else:
5
    c = -25
6
print(b)
7

Puis

1
a = -3
2
if a > 0:
3
    b = 17
4
else:
5
    c = -25
6
print(b)
7
8

Ne donnera pas d'erreur puisque la variable b est déjà connue.