Easier to read with cream paper, a tint, more contrast or larger text? Choose your colours and text, once, for every page.

Aperçu

Où vit une variable

Voici la première page de la leçon. Lis-la et essaie les activités. La suite est dans le cours complet.

30 minutes

Le casier du vestiaire

Dans le vestiaire, ton sac est dans ton casier. Seul toi peux l’ouvrir. Le panneau des horaires, lui, est sur le mur : tout le monde le voit.

En Python, c’est pareil. Certaines variables sont privées, d’autres sont visibles partout.

Cette leçon t’explique qui voit quoi, et pourquoi un compteur peut planter.

Mots-clés

MotCe que ça veut direExemple
Variable localeUne variable créée dans une fonction. Elle n’existe que là.affaire dans preparer_sac
Variable globaleUne variable créée hors de toute fonction. Tout le programme la voit.taux_tva
PortéeL’endroit du programme où une variable existe.Dans la fonction seulement
globalMot de Python qui dit : dans cette fonction, je parle de la variable globale.global points
CompteurUne variable à laquelle on ajoute 1 de temps en temps.points = points + 1

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

La variable locale

Une variable créée dans une fonction est locale. Elle naît quand la fonction démarre.

Elle disparaît quand la fonction se termine. Le reste du programme ne la voit pas.

On appelle portée l’endroit où une variable existe.

À toi : un sac dans un casier

Code: python
def preparer_sac():
    affaire = "gourde"
    print("Dans la fonction, j'ai :", affaire)


preparer_sac()

# La variable affaire n'existe que dans la fonction.
# Enlève le # devant la ligne suivante pour voir l'erreur.
# print(affaire)

La variable globale

Une variable créée hors de toute fonction est globale. Tout le programme peut la lire, fonctions comprises.

C’est pratique pour une valeur qui sert partout, comme le taux de taxe.

À toi : un taux pour tout le programme

Code: python
taux_tva = 20     # une variable globale : elle est écrite hors des fonctions


def prix_ttc(prix_ht):
    # La fonction peut lire taux_tva, même si elle n'est pas dans ses paramètres.
    return prix_ht + prix_ht * taux_tva / 100


print(prix_ttc(50))

taux_tva = 5.5
print(prix_ttc(50))

# Le taux a changé hors de la fonction. Le prix aussi.

Exemple travaillé : qui voit quoi

VariableCréée où ?Vue dans la fonction ?Vue dehors ?
affaireDans preparer_sacOuiNon
taux_tvaHors des fonctionsOui, en lectureOui
prix_htParamètre de prix_ttcOuiNon

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Contrôle rapide

À toi de jouer

Contrôle rapide

3 questions
Essayez : vos réponses sont notées ici puis oubliées. Connectez-vous si vous voulez conserver votre score et reprendre là où vous en étiez.Se connecter pour conserver mon score

Tes réponses sont corrigées ici et ne sont pas conservées. Un compte garde tes résultats.

Modifier une variable globale

Lire une globale est facile. La changer demande un mot de plus.

Quand une fonction écrit points = points + 1, Python croit que points est une nouvelle variable locale. Il la cherche, ne la trouve pas, et plante avec une UnboundLocalError.

Le mot global règle le problème : il dit à Python de prendre la variable du dehors.

La leçon continue

8 parties de plus de cette leçon se trouvent dans le cours complet, avec les exercices et la vérification finale. Un compte te donne tout.