- 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 person00:00:00 :Dans cette partie, on va voir une variable assez importante qui est la variable name.Cette variable, elle va nous permettre d'exécuter le code à l'intérieur d'un moduleuniquement si on exécute directement ce module.
00:00:13 :Donc je vais vous expliquer tout ça.On a un dossier ici qui contient deux scripts, un fichier script.py et un module, donc utils.py,qui contient tout simplement une fonction qui nous permet d'additionner de nombres.
00:00:25 :A l'intérieur de ce module, je vais vouloir tester le bon fonctionnement de cette fonction.Je vais faire un print de ma fonction addition et je vais lui passer deux nombres, par exemple 4 et 5.
00:00:35 :Je sauvegarde le script, je l'exécute dans mon terminal et j'ai bien la valeur 9 qui nous est retournée.Jusque là, tout va bien, notre fonction fonctionne bien et je vais pouvoir l'utiliser à l'intérieur de mon fichier script.
00:00:47 :Dans ce fichier, je fais tout simplement un import de utils et je vais vouloir utiliser cette fonction par la suite.Alors si j'exécute ce script là, vous allez voir qu'on a également 9 qui est affichée.
00:00:58 :Pourquoi ? Et bien tout simplement puisque quand Python importe un module, en fait,il exécute tout ce qui est contenu à l'intérieur du module.Donc quand on définit des fonctions ou qu'on affecte des variables, il va mettre ces fonctions et ces variables en mémoire.
00:01:12 :Mais si on a des lignes de code qui exécutent quelque chose, comme ici le print qui exécute la fonction addition,et bien cette ligne va aussi être exécutée.
00:01:21 :Donc c'est pour ça qu'ici on a 9 qui est affichée puisque quand on importe le module,et bien cette ligne de code est exécutée et on a 9 qui est affichée à l'intérieur de ce fichier script.py.
00:01:31 :Donc c'est tout à fait logique et en fait on va pouvoir faire en sorte de départager les situations.On va pouvoir utiliser une variable qui est un peu une variable magique, si vous voulez,qui va nous permettre de n'exécuter cette ligne de code que si on exécute directement ce fichier utils.py
00:01:48 :et non pas quand on importe.Donc cette variable c'est la variable name.Donc je vais faire un print de cette variable.Alors elle est précédée et suivie de deux tirés du bas.
00:01:57 :Ça, les tirés du bas avant et après quelque chose,généralement en Python ça veut dire que c'est une variable ou une fonction magique, si vous voulez.
00:02:05 :Donc c'est en fait quelque chose que l'on n'a pas besoin de définir nous-mêmes,qui va automatiquement être défini par Python.Donc je vais commenter cette ligne de code et réexécuter mon script avec uniquement le print de cette variable.
00:02:16 :Donc j'exécute mon module et vous voyez qu'en exécutant directement le fichier utils.py,cette variable magique, la variable name,elle a une valeur qui est égale à la chaîne de caractère main suivie et précédée par deux tirés du bas.
00:02:30 :Donc ça, ça va nous permettre de faire une structure conditionnellepour exécuter cette ligne uniquement quand on appelle le script directement,puisque cette variable, si cette fois-ci j'exécute mon script.py,
00:02:42 :elle va être différente lorsqu'on fait un import de notre module.Donc je lance ce script.py et vous voyez que là, cette fois-ci, cette variable name,
00:02:51 :elle est égale à utils, donc le nom du module.Alors avec ça, on va faire une structure conditionnelle.La structure conditionnelle, ça va être tout simplement if underscore underscore nameégale égale à main avec deux tirés du bas au début et à la fin.
00:03:06 :Donc si cette variable est égale à main, ça veut dire qu'on est en train d'exécuter directement notre module.Donc on veut tout simplement tester le bon fonctionnement de certaines fonctions à l'intérieur de notre module.
00:03:17 :Donc là, du coup, on va mettre notre print à l'intérieur de cette structure conditionnelle.Donc là, si j'exécute le fichier directement, je le sauvegarde et je fais un clic droit run python file in terminal.
00:03:27 :Là, on a bien 9 qui est affiché, puisque cette variable name est bien égale à main.Donc là, cette condition est vérifiée et on affiche le résultat de l'addition.
00:03:36 :Par contre, si je vais dans mon script.py et que je lance l'import de mon module utils,donc en faisant run python file in terminal, je lance mon script.
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.