- 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:10 :Donc ici j'ai un fichier script.py et un module utils qui contient tout simplement une variable a qui est égale à 6.Alors je vais sélectionner ces deux lignes de code et cette fois-ci faire Run Selection Line in Python Terminal.
00:00:23 :Ça, ça va ouvrir en fait un interpréteur Python interactif et vous voyez que j'affiche donc la valeur de a qui est égale à 6.Maintenant si je change cette valeur, je la mets à 5 par exemple, je sauvegarde et que je refais un print de utils.a, vous voyez que la variable n'a pas changé.
00:00:40 :On a toujours 6 alors qu'ici on a a qui est égale à 5.Donc ça c'est parce qu'il va falloir en fait recharger le module à l'intérieur de notre interpréteur Python.
00:00:49 :Dans la version 2 de Python, on pouvait utiliser directement la fonction reload et indiquer le module qu'on voulait recharger.Ça, ce n'est plus disponible avec Python 3.
00:00:58 :Avec Python 3, on va avoir plusieurs façons de faire différente, là encore en fonction des versions de Python 3 que vous utilisez.Pour les versions 3.3 et 3.4, il va falloir utiliser le module imp qui va contenir cette fonction reload.
00:01:11 :Pour la version 3.5 et supérieure, on va utiliser importlib.C'est presque la même chose, on utilise ce module importlib et à l'intérieur de ce module, on va avoir la fonction reload qui va nous permettre de recharger le module utils.
00:01:25 :Pour Python 3.3 et 3.4, c'est exactement la même chose sauf que vous remplacez importlib par imp, tout simplement.Là je vais recharger mon module, j'appuie sur entrée, là ça me dit que ça a bien rechargé le module et cette fois-ci, si je fais un print de utils.a, on a bien la valeur de 5.
00:01:42 :Ça c'est parce que Python garde en mémoire les modules que vous importez.Le fait de refaire un import d'un module, ça ne va pas recharger le module.
00:01:51 :Si je change et que je mets 4 et que je refais un import, on ne va pas recharger le module.Même si on fait un import, ça ne le recharge pas, il va toujours regarder dans sa mémoire si le module est déjà là.
00:02:04 :Si oui, il utilise ce qu'il a en mémoire.Il faut passer par cette fonction reload dans le module importlib pour pouvoir indiquer à Python qu'on ne veut plus utiliser la version du module qui est en mémoire,mais qu'on veut recharger cette version-là, donc la mettre à jour pour pouvoir avoir les changements qu'on a fait à l'intérieur du module.
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.