{"id":5769,"date":"2024-08-29T05:20:24","date_gmt":"2024-08-29T05:20:24","guid":{"rendered":"https:\/\/wikiform.fr\/codespace\/creer-des-modules-en-python-guide-pratique\/"},"modified":"2024-08-29T05:20:27","modified_gmt":"2024-08-29T05:20:27","slug":"creer-des-modules-en-python-guide-pratique","status":"publish","type":"post","link":"https:\/\/wikiform.fr\/codespace\/creer-des-modules-en-python-guide-pratique\/","title":{"rendered":"4.3 Cr\u00e9er des Modules en Python : Guide Pratique"},"content":{"rendered":"\n<p><strong>Cr\u00e9er des Modules en Python<\/strong> permet de structurer votre code de mani\u00e8re organis\u00e9e et r\u00e9utilisable. Cr\u00e9er des <strong>modules en Python<\/strong> est une comp\u00e9tence essentielle pour tout d\u00e9veloppeur souhaitant \u00e9crire des scripts maintenables et flexibles. Apprenons comment cr\u00e9er et utiliser des modules en Python gr\u00e2ce \u00e0 des exemples concrets de code.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Introduction aux <strong>Modules en Python<\/strong><\/h2>\n\n\n\n<div id=\"videoContainer\" style=\"position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; background: #000;\">\n  <iframe src=\"https:\/\/player.vimeo.com\/video\/583345334?dnt=1&#038;fullscreen=0&#038;pip=0\" loading=\"lazy\" loading=\"lazy\" style=\"position: absolute; top: 0; left: 0; width: 100%; height: 100%;\" frameborder=\"0\" allow=\"autoplay\" allowfullscreen id=\"vimeoPlayer\"><\/iframe>\n  \n  <!-- Popup Desktop -->\n  <div id=\"popupContainer\" class=\"desktop-popup\" style=\"display: none; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 90%; max-width: 400px; padding: 20px; border-radius: 10px; text-align: center; box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1); background-color: rgba(255, 255, 255, 0.95); box-sizing: border-box;\">\n    <h2 style=\"color: #333; font-size: 1.5em; margin: 10px 0;\" id=\"profitez-de-loffre-spciale-\">Profitez de l\u2019offre sp\u00e9ciale !<\/h2>\n    <p style=\"color: #e74c3c; font-size: 1.2em; margin: 10px 0;\">Obtenez notre cours pour seulement <strong id=\"price\">29.5\u20ac<\/strong> au lieu de <del>59\u20ac<\/del> !<\/p>\n    <a href=\"https:\/\/wikiform.fr\/application\/learnify\/home\/course\/devenir-un-d%C3%A9veloppeur-python\/144\" target=\"_blank\" style=\"display: block; padding: 10px 20px; background-color: #701CF5; color: #fff; text-decoration: none; border-radius: 5px; font-weight: bold; font-size: 1em; margin: 20px auto;\" rel=\"noopener\">Commencer maintenant<\/a>\n    <button onclick=\"closePopup()\" style=\"padding: 10px 20px; font-size: 1em;\">Fermer<\/button>\n  <\/div>\n\n  <!-- Popup Mobile -->\n  <div id=\"popupContainerMobile\" class=\"mobile-popup\" style=\"display: none; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 80%; max-width: 300px; padding: 15px; border-radius: 10px; text-align: center; box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1); background-color: rgba(255, 255, 255, 0.95); box-sizing: border-box;\">\n    <p style=\"color: #e74c3c; font-size: 1em; margin: 5px 0;\">Cours sp\u00e9cial \u00e0 <strong id=\"priceMobile\">29.5\u20ac<\/strong> au lieu de <del>59\u20ac<\/del> !<\/p>\n    <a href=\"https:\/\/wikiform.fr\/application\/learnify\/home\/course\/devenir-un-d%C3%A9veloppeur-python\/144\" target=\"_blank\" style=\"display: inline-block; padding: 8px 15px; background-color: #701CF5; color: #fff; text-decoration: none; border-radius: 5px; font-weight: bold; font-size: 0.9em;\" rel=\"noopener\">Commencer maintenant<\/a>\n    <button onclick=\"closePopup()\" style=\"padding: 5px 10px; font-size: 0.9em;\">Fermer<\/button>\n  <\/div>\n<\/div>\n\n<script src=\"https:\/\/player.vimeo.com\/api\/player.js\"><\/script>\n<script>\ndocument.addEventListener('DOMContentLoaded', function() {\n    var iframe = document.getElementById('vimeoPlayer');\n    var player = new Vimeo.Player(iframe);\n    var isPopupDisplayed = false;\n\n    player.on('play', function() {\n        if (!isPopupDisplayed) {\n            player.on('timeupdate', function(data) {\n                if (data.seconds >= 120 && !isPopupDisplayed) { \/\/ 120 seconds = 2 minutes\n                    \/\/ Pause the video and display the popup\n                    player.pause().then(function() {\n                        if (window.innerWidth > 768) {\n                            document.querySelector('.desktop-popup').style.display = 'block';\n                        } else {\n                            document.querySelector('.mobile-popup').style.display = 'block';\n                        }\n                        fetchPriceAndUpdatePopup();\n                        isPopupDisplayed = true;\n                    });\n                }\n            });\n        }\n    });\n\n    function fetchPriceAndUpdatePopup() {\n        fetch('https:\/\/wikiform.fr\/application\/learnify\/home\/course\/devenir-un-d%C3%A9veloppeur-python\/144')\n            .then(response => response.text())\n            .then(html => {\n                var parser = new DOMParser();\n                var fetchedDoc = parser.parseFromString(html, 'text\/html');\n                var priceElement = fetchedDoc.querySelector('.ammount .fw-500');\n                var originalPriceElement = fetchedDoc.querySelector('.ammount del');\n                var price = priceElement ? priceElement.textContent.trim() : '29.5\u20ac';\n                var originalPrice = originalPriceElement ? originalPriceElement.textContent.trim() : '59\u20ac';\n\n                document.getElementById('price').textContent = price;\n                document.getElementById('priceMobile').textContent = price;\n                document.querySelector('.desktop-popup del').textContent = originalPrice;\n                document.querySelector('.mobile-popup del').textContent = originalPrice;\n            })\n            .catch(error => console.error('Error fetching the price:', error));\n    }\n\n    function closePopup() {\n        document.querySelector('.desktop-popup').style.display = 'none';\n        document.querySelector('.mobile-popup').style.display = 'none';\n        player.play(); \/\/ Allows resuming the video only after closing the popup\n    }\n});\n<\/script>\n\n\n\n<p>En Python, un module est simplement un fichier contenant des d\u00e9finitions et des instructions. Ce module peut ensuite \u00eatre import\u00e9 et utilis\u00e9 dans d&rsquo;autres fichiers, rendant le code plus modulaire et plus facile \u00e0 maintenir. Si vous souhaitez installer Python sur votre syst\u00e8me, consultez nos guides sur <a href=\"https:\/\/wikiform.fr\/codespace\/installer-python-sur-mac-2024-guide-complet\" target=\"_blank\" rel=\"noopener\">installer Python sur Mac<\/a> et <a href=\"https:\/\/wikiform.fr\/codespace\/installer-python-sur-windows-facilement\" target=\"_blank\" rel=\"noopener\">installer Python sur Windows<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Cr\u00e9er un Module en Python<\/h3>\n\n\n\n<p>Pour cr\u00e9er un module, il suffit de cr\u00e9er un fichier Python (.py) et d&rsquo;y ajouter des fonctions, des classes, ou des variables. Voici un exemple simple :<\/p>\n\n\n\n<pre class=\"wp-block-code lang-python\"><code># fichier: mon_module.py\n\ndef saluer(nom):\n    return f\"Bonjour, {nom}!\"\n\ndef additionner(a, b):\n    return a + b\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Importer et Utiliser un Module<\/h3>\n\n\n\n<p>Pour utiliser les fonctions et les classes d\u00e9finies dans un module, vous devez l&rsquo;importer dans votre script. Voici comment proc\u00e9der :<\/p>\n\n\n\n<pre class=\"wp-block-code lang-python\"><code># fichier: main.py\n\nimport mon_module\n\n# Utilisation des fonctions du module\nprint(mon_module.saluer(\"Alice\"))\nprint(\"La somme de 5 et 3 est:\", mon_module.additionner(5, 3))\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Utiliser des Alias pour les Modules<\/h3>\n\n\n\n<p>Pour simplifier l&rsquo;utilisation d&rsquo;un module, vous pouvez lui attribuer un alias lors de l&rsquo;importation :<\/p>\n\n\n\n<pre class=\"wp-block-code lang-python\"><code># fichier: main.py\n\nimport mon_module as mm\n\n# Utilisation des fonctions avec alias\nprint(mm.saluer(\"Alice\"))\nprint(\"La somme de 5 et 3 est:\", mm.additionner(5, 3))\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Importer des \u00c9l\u00e9ments Sp\u00e9cifiques d&rsquo;un Module<\/h3>\n\n\n\n<p>Il est \u00e9galement possible d&rsquo;importer uniquement des fonctions ou classes sp\u00e9cifiques d&rsquo;un module :<\/p>\n\n\n\n<pre class=\"wp-block-code lang-python\"><code># fichier: main.py\n\nfrom mon_module import saluer, additionner\n\n# Utilisation directe des fonctions\nprint(saluer(\"Alice\"))\nprint(\"La somme de 5 et 3 est:\", additionner(5, 3))\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Utiliser le Dossier __init__.py pour Cr\u00e9er des Packages<\/h3>\n\n\n\n<p>Un package est une collection de modules. Pour indiquer \u00e0 Python qu&rsquo;un dossier est un package, il doit contenir un fichier <code>__init__.py<\/code> (qui peut \u00eatre vide ou contenir du code d&rsquo;initialisation). Voici un exemple de structure de package :<\/p>\n\n\n\n<pre class=\"wp-block-code lang-python\"><code>mon_package\/\n    __init__.py\n    module1.py\n    module2.py\n<\/code><\/pre>\n\n\n\n<p>Vous pouvez alors importer des modules de ce package de la mani\u00e8re suivante :<\/p>\n\n\n\n<pre class=\"wp-block-code lang-python\"><code># fichier: main.py\n\nfrom mon_package import module1, module2\n\n# Utilisation des fonctions des modules\nprint(module1.saluer(\"Alice\"))\nprint(\"La somme de 5 et 3 est:\", module2.additionner(5, 3))\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Exemples Avanc\u00e9s de Modules en Python<\/h3>\n\n\n\n<p>Maintenant que vous savez cr\u00e9er et importer des modules, voyons quelques exemples avanc\u00e9s pour illustrer leur utilisation.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Modules avec Classes et M\u00e9thodes<\/h4>\n\n\n\n<p>Un module peut contenir des classes avec des m\u00e9thodes, facilitant ainsi la programmation orient\u00e9e objet :<\/p>\n\n\n\n<pre class=\"wp-block-code lang-python\"><code># fichier : mon_module.py\n\nclass MathOperations:\n    def addition(self, a, b):\n        return a + b\n\n    def subtraction(self, a, b):\n        return a - b\n<\/code><\/pre>\n\n\n\n<p>Et voici comment utiliser cette classe dans un autre fichier :<\/p>\n\n\n\n<pre class=\"wp-block-code lang-python\"><code># fichier: main.py\n\nfrom mon_module import MathOperations\n\n# Utilisation de la classe du module\nmath_ops = MathOperations()\nprint(\"La somme de 5 et 3 est :\", math_ops.addition(5, 3))\nprint(\"La diff\u00e9rence entre 5 et 3 est :\", math_ops.subtraction(5, 3))\n<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Cr\u00e9er des Modules avec des D\u00e9pendances<\/h4>\n\n\n\n<p>Un module peut \u00e9galement d\u00e9pendre d&rsquo;autres modules ou packages. Voici un exemple o\u00f9 un module utilise une fonction d&rsquo;un autre module :<\/p>\n\n\n\n<pre class=\"wp-block-code lang-python\"><code># fichier : module_util.py\n\ndef multiplier(a, b):\n    return a * b\n<\/code><\/pre>\n\n\n\n<p>Et le module principal :<\/p>\n\n\n\n<pre class=\"wp-block-code lang-python\"><code># fichier : mon_module.py\n\nfrom module_util import multiplier\n\ndef calculs_comples(a, b):\n    resultat = multiplier(a, b)\n    return f\"Le produit de {a} et {b} est {resultat}\"\n<\/code><\/pre>\n\n\n\n<p>Ensuite, utilisez ces modules ensemble dans votre application :<\/p>\n\n\n\n<pre class=\"wp-block-code lang-python\"><code># fichier: main.py\n\nimport mon_module\n\n# Utilisation des calculs complexes\nprint(mon_module.calculs_comples(4, 5))\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Utiliser des Modules Externes avec Pip<\/h3>\n\n\n\n<p>En plus des modules personnalis\u00e9s, Python offre la possibilit\u00e9 d&rsquo;utiliser des biblioth\u00e8ques externes via l&rsquo;outil <a href=\"https:\/\/pypi.org\/project\/pip\/\" target=\"_blank\" rel=\"noopener\">pip<\/a>. Voici comment installer et utiliser un module externe :<\/p>\n\n\n\n<pre class=\"wp-block-code lang-shell\"><code>pip install requests<\/code><\/pre>\n\n\n\n<p>Ensuite, vous pouvez importer et utiliser ce module dans votre script :<\/p>\n\n\n\n<pre class=\"wp-block-code lang-python\"><code># fichier: main.py\n\nimport requests\n\nresponse = requests.get('https:\/\/api.github.com')\nprint(response.json())\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p>Les <strong>modules en Python<\/strong> sont un outil puissant pour organiser votre code et favoriser la r\u00e9utilisation. En cr\u00e9ant et en important des modules, vous pouvez \u00e9crire des scripts plus propres, plus modulaires et plus faciles \u00e0 maintenir. Continuez \u00e0 explorer les modules et packages pour ma\u00eetriser cet aspect essentiel de la programmation Python. Pour plus de tutoriels, consultez notre article sur <a href=\"https:\/\/wikiform.fr\/application\/learnify\/home\/course\/tutoriel-python-avanc\u00e9\/\" target=\"_blank\" rel=\"noopener\">les fonctionnalit\u00e9s avanc\u00e9es de Python<\/a>, ou commencez par <a href=\"https:\/\/wikiform.fr\/codespace\/premier-programme-python-hello-world\" target=\"_blank\" rel=\"noopener\">\u00e9crire votre premier programme Python<\/a>. Si vous \u00eates int\u00e9ress\u00e9 par d&rsquo;autres aspects de Python, comme <a href=\"https:\/\/wikiform.fr\/codespace\/comprendre-les-variables-en-python\" target=\"_blank\" rel=\"noopener\">comprendre les variables<\/a> ou <a href=\"https:\/\/wikiform.fr\/codespace\/utilisation-de-elif-en-python-guide-pratique\" target=\"_blank\" rel=\"noopener\">utiliser les structures conditionnelles<\/a>, nos guides complets sont \u00e0 votre disposition.<\/p>\n\n\n\n<a href=\"https:\/\/wikiform.fr\/application\/learnify\/home\/course\/devenir-un-d%C3%A9veloppeur-python\/144\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" src=\"https:\/\/wikiform.fr\/codespace\/wp-content\/uploads\/2024\/07\/learnify-formation-PYTHON-offre-50.gif\" loading=\"lazy\" alt=\"Learnify Formation Python Offre 50%\" title=\"\"><\/a>\n","protected":false},"excerpt":{"rendered":"<p>Cr\u00e9er des Modules en Python permet de structurer votre code de mani\u00e8re organis\u00e9e et r\u00e9utilisable. Cr\u00e9er des modules en Python est une comp\u00e9tence essentielle pour&#8230;<\/p>\n","protected":false},"author":4,"featured_media":2908,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[24],"tags":[18],"class_list":["post-5769","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-python","tag-tutoriels"],"acf":[],"_titre_de_la_formation":null,"_description_":null,"_objectifs_pedagogiques":null,"_programme_":null,"_url_de_limage":null,"_materiel_necessaire":null,"_modalites_devaluation_des_acquis":null,"_moyens_pedagogiques_et_techniques":null,"_accessibilite_":null,"_formateur_":null,"menu_order":0,"_links":{"self":[{"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/posts\/5769","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/comments?post=5769"}],"version-history":[{"count":1,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/posts\/5769\/revisions"}],"predecessor-version":[{"id":5770,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/posts\/5769\/revisions\/5770"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/media\/2908"}],"wp:attachment":[{"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/media?parent=5769"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/categories?post=5769"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/tags?post=5769"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}