Comment créer, importer et réutiliser votre propre module en Python

Que vous soyez expert ou débutant en programmation Python, vous devez être capable de fragmenter votre code en modules réutilisables. Dans cet article, vous apprendrez à créer, importer et réutiliser vos modules Python dans l’arborescence de votre projet.

Qu’est-ce que la modularisation du code et pourquoi l’utiliser ?

La modularisation du code pour la séparation des préoccupations et la réutilisation du code est l’un des principes de base de la programmation. Comme Python est orienté objet, c’est l’un des langages qui facilite la modularisation. La modularisation du code consiste à assigner des tâches spécifiques à différentes fonctions ou méthodes. Chacune d’entre elles peut alors travailler ensemble pendant l’exécution du programme pour former une application complète.

L’un des aspects importants de la modularisation du code est la conformité de votre code au principe « Ne pas se répéter ». Ainsi, une fois que vous avez créé un modèle d’instruction dans une méthode dédiée, tout ce que vous ferez sera de l’appliquer aux scripts pertinents afin d’éviter de répéter le même code dans l’ensemble de votre base de code.

Lorsque vous modularisez un code, vous lui donnez un nom unique. Ce nom est son identité et signifie que la prochaine fois que vous aurez besoin d’utiliser ce bloc de code, vous n’aurez qu’à appeler son nom et non le code entier.

Cette pratique facilite et accélère votre travail dans le cadre d’un projet réel. En plus de rendre votre code plus efficace et plus lisible, la modularisation améliore la vitesse d’exécution et facilite les tests.

Comme notre exemple fait appel à la programmation orientée objet (POO), nous devons en parler brièvement avant de passer à la création d’un module. Le code que vous avez l’intention de réutiliser peut parfois être une fonction individuelle. Mais il peut aussi s’agir d’une méthode dans une classe ; c’est alors que la POO entre en jeu.

Voir aussi :  Comment tester une API avec Python et JavaScript

La programmation orientée objet en Python

La POO consiste à présenter le code dans des classes dédiées, instanciées en tant qu’objets indépendants. Chaque objet possède alors ses attributs et ses méthodes. Une classe peut avoir une ou plusieurs autres méthodes et attributs et peut hériter d’une autre classe.

Les attributs de la classe sont les caractéristiques de la classe, tandis que chaque méthode est une fonction traitant une instruction spécifique, qui peut utiliser certains attributs de la classe. Lorsque vous importez et instanciez une classe, vous pouvez obtenir et utiliser ses attributs et méthodes dans d’autres programmes ou parties de votre base de code.

Créer votre propre module réutilisable en Python : Un exemple pratique

Voyons maintenant comment réutiliser un module de compteur de mots personnalisé dans un autre fichier Python. Tout d’abord, ouvrez une invite de commande à n’importe quel endroit de votre ordinateur pour démarrer un nouveau projet. Dans ce cas, nous utiliserons le nom de projet suivant nombre de mots. Pour ce faire, tapez mkdir word_count.

Ensuite, utilisez votre outil d’environnement virtuel préféré pour créer un nouvel environnement virtuel. Si vous en avez déjà créé un, il vous suffit de l’activer. Assurez-vous que vous êtes toujours dans le répertoire de votre projet.

Pour créer la classe de compteur de mots, nous essayons d’abord de trouver une formule brute pour la calculer. Notez que même si vous n’avez pas besoin d’un compteur de mots, c’est la façon dont l’idée est liée à la réutilisation du code qui importe pour cette explication.

Voir aussi :  5 langages de développement de jeux mobiles que vous devriez apprendre dès aujourd'hui

Ensuite, ouvrez un éditeur de texte à l’emplacement de votre projet et créez un nouveau fichier Python. Dans ce cas, le fichier est nommé counter.py; assurez-vous que vous utilisez le bon . py extension.

Voici ce que l’extension compteur ressemble à un fichier :

Maintenant que le code brut fonctionne, modularisez-le dans une méthode de classe Python dédiée pour le rendre réutilisable :

Voilà, vous avez créé un module de compteur de mots. Voyons comment le réutiliser dans un autre fichier Python.

Importer le module créé dans le même dossier

Rappelez-vous que vous avez créé un fichier nommé counter.py. Ce fichier contient une classe, WordCounter qui possède une méthode de compteur de mots (compter_mots). Si vous avez besoin de la méthode du compteur dans un nouveau fichier, importez et instanciez sa classe dans votre nouveau script Python.

Notez que tous vos fichiers Python doivent se trouver dans le même répertoire dans ce cas. Pour vous en assurer, créez un nouveau fichier Python dans le même répertoire que celui où se trouve le fichier wordcounter.py dans le même répertoire que le fichier wordcounter.py.

Voici à quoi ressemble le nouveau fichier :

Vous pouvez même utiliser la méthode de cette classe dans une autre via l’héritage ou la composition. Vous voudrez peut-être comprendre les principes fondamentaux de la POO en Python pour voir comment cela fonctionne.

Réutiliser votre module Python dans un autre répertoire

Si le fichier de destination n’est pas dans le même répertoire que le fichier du module, il suffit de référencer le module en utilisant un import absolu.

Pour mieux comprendre, supposons que vous ayez créé un nouveau fichier dans le répertoire de votre projet. Mais le fichier à partir duquel vous avez l’intention d’importer votre module se trouve dans un autre dossier du répertoire de votre projet – appelons ce dossier nombre de mots.

Voir aussi :  Comment trouver le profil de consommation de mémoire de votre code Python

Pour importer votre module à partir de counter.py (qui se trouve maintenant à l’intérieur du fichier wordcount ) dans un script Python dans un autre répertoire :

Le sys.path.append ajoute le répertoire de travail actuel au dossier parent de votre projet. Vous pouvez donc vouloir faire cela pour tous les fichiers de destination afin de rendre vos modules exécutables dans toute l’arborescence de votre projet.

Pendant l’importation absolue, Python parcourt le dossier parent (nombre de mots dans ce cas) et localise le module d’intérêt (counter.py).

Un répertoire de projet ressemble à ceci :

En décomposant la structure du dossier : nombre_de_mots est le répertoire parent. Il contient les dossiers nombre de mots et le destination qui contiennent les dossiers counter.py et destination.py, respectivement. Les dossiers counter.py contient alors le fichier Compteur de mots Lorsqu’elle est instanciée dans destination.py, elle peut exécuter ses méthodes et attributs en conséquence.

Où la réutilisation du code fonctionne-t-elle ?

La modularisation et la réutilisation de votre code sont des pratiques exemplaires pour tous les projets que vous menez. Bien que la structure de votre projet puisse être totalement différente, ce guide fournit une base pour l’utilisation de modules personnalisés dans les scripts de votre projet. Un concept similaire s’applique aux fonctions qui ne font pas partie d’un objet. En fonction de la structure de votre projet, vous pouvez les importer explicitement ou absolument, comme nous l’avons fait ci-dessus.

Cliquez pour évaluer cet article !
[Total: Moyenne : ]

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *