- Formations
- conversion_path Parcours & Formations
- science Projets
- data_object Exercices de code
- psychology Exercices IA
- quiz Quiz
- Articles
- rss_feed Blog
- sort_by_alpha Glossaire
- menu_book Guides
- help_center FAQ
- media_link Ressources
- Communauté
- groups La communauté
- forum Questions
- live_tv Mentorats
- science Projets mensuels
- Formations
- conversion_path Parcours & Formations
- science Projets
- data_object Exercices de code
- psychology Exercices IA
- quiz Quiz
- Articles
- rss_feed Blog
- sort_by_alpha Glossaire
- menu_book Guides
- help_center FAQ
- media_link Ressources
- Communauté
- groups La communauté
- forum Questions
- live_tv Mentorats
- science Projets mensuels
Inscris-toi
(c'est gratuit !)
Un compte est nécessaire pour participer aux discussions.
Créer un compte personEspace global et local
Les variables qui sont définies à l'intérieur d'une fonction appartiennent uniquement à la fonction.
def fonction():
a = 10
a = 5
Dans cet exemple, on a une fonction dans laquelle on assigne la valeur 10 à la variable a
, et en dehors de la fonction, on assigne la valeur 5 à la variable a
.
Si par la suite on appelle la fonction et qu'on affiche la valeur de a
avec print
, vous voyez que la valeur n'a pas changé malgré l'assignation que l'on fait dans la fonction.
>>> fonction()
>>> print(a)
5
Donc a
est toujours égale à 5, on ne l'a pas modifiée.
La notion abordée ici est la notion d'espaces.
Espace global
Par défaut, quand on écrit une ligne dans notre script, on dit qu'on est dans l'espace global.
Dans l'exemple précédent, l'espace global correspond à la fonction exemple
et à la variable a
.
Dans l'espace global du script, on peut faire un print
de la variable a
ou appeler la fonction exemple
sans provoquer d'erreur : Python ne va pas nous dire que cette variable n'est pas définie.
Espace local
À l'intérieur de la fonction exemple
, on crée un autre espace, local à la fonction. On parle d'espace local.
Les variables créées à l'intérieur de cet espace ne sont accessibles qu'à l'intérieur de la fonction, donc à l'intérieur de cet espace local.
def exemple():
b = 5
a = 5
Dans le code ci-dessus, à l'intérieur de la fonction exemple
, on peut sans problème écrire print(b)
, ce qui va afficher le nombre 5. Par contre, si on essaye de faire print(b)
en dehors de la fonction exemple
, il y aura une erreur car b
n'existe qu'à l'intérieur de la fonction. En dehors de la fonction, b
n'est pas définie.
L'inverse, en revanche, est possible. Une variable qui est définie dans l'espace global est accessible à l'intérieur d'une fonction.
À l'intérieur de la fonction exemple
, je peux accéder à la variable a
même si elle est définie à l'extérieur de cette même fonction, et la valeur 5 sera bien affichée.
Si on reprend l'exemple du début, si on assigne une valeur à la variable a
à l'intérieur de la fonction, on n'écrase pas la variable globale. On crée simplement une variable locale qui se retrouve à avoir le même nom que la variable dans l'espace global, mais il s'agit bien de deux variables différentes, une variable locale à la fonction et une variable globale au script.
Pour résumer
- Il y a obligatoirement un espace global : dès qu'on écrit une ligne de code, elle est obligatoirement dans cet espace global
- On peut par la suite créer plusieurs espaces locaux : si on crée plusieurs fonctions, elles vont chacune avoir leur espace local
- Les variables définies à l'intérieur d'une fonction ne sont pas disponibles en dehors de la fonction.
- On peut accéder à une variable globale, définie à l'extérieur de la fonction, à l'intérieur des fonctions.
Les prochaines parties comportent plusieurs quizz et exercices qui vont vous permettre de tester cette notion d'espaces en vous montrant ce que vous pouvez faire avec les variables, et comment elles sont définies à l'intérieur de ces différents espaces.
Ce n'est pas fini...
Tu as complété % du parcours 🔥
Termine l'intégralité de la formation pour pouvoir débloquer ton attestation de réussite.