Python est souvent appelé un langage de programmation « piles incluses ». Cela est dû à sa philosophie consistant à inclure une large gamme de modules et de packages intégrés, fournissant ainsi une bibliothèque standard complète pour effectuer un large éventail de tâches.
Un module Python est un fichier contenant des instructions et des définitions Python telles que des variables, des fonctions, des classes ou des méthodes. Habituellement, il a une extension .py et le nom du fichier est également le nom du module.
Python Modules
Les modules Python contiennent généralement du code qui effectue des tâches spécifiques. Un package, en revanche, est simplement une collection de modules Python.
Les modules Python alimentent la programmation modulaire en Python, permettant de diviser les grands projets et tâches en parties ou modules plus petits et gérables qui peuvent ensuite être rassemblés pour créer une application beaucoup plus grande. Bien que Python soit livré avec de nombreux modules intégrés, les utilisateurs peuvent également créer leurs propres modules.

Un exemple de module couramment utilisé est le module mathématique qui donne accès à des fonctions mathématiques telles que factorial(), ceil(), floor(), sqrt() et pow() parmi bien d'autres.
Si vous souhaitez calculer la puissance ou la carré racine des nombres, vous n'avez pas besoin d'écrire la logique pour le faire vous-même. Vous importez simplement le module Python qui contient du code avec cette fonctionnalité. Dans ce cas, vous avez besoin du math module. Après avoir importé le module, vous pouvez accéder à la fonction dont vous avez besoin comme indiqué ci-dessous :
import math
print("Using the math module to perform mathematical calculations")
print(math.pow(3, 2))
print(math.sqrt(100))
Sortie :
Using the math module to perform mathematical calculations
9.0
10.0

Les modules Python sont très utiles dans l'organisation du code et la réutilisabilité du code. Les modules Python vous permettent d'organiser et de regrouper logiquement le code associé, ce qui rend votre code plus facile à comprendre et à utiliser.
Les modules facilitent également la gestion et la maintenance du code, en particulier dans les grands projets Python comportant des milliers de lignes de code. Vous pouvez facilement gérer la base de code en regroupant votre code en modules, chacun avec sa propre fonctionnalité
Une autre caractéristique clé des modules Python est qu’ils permettent la réutilisation du code. Par exemple, si vous travaillez sur des projets Python qui utilisent des fonctions mathématiques, vous n'avez pas besoin de réécrire continuellement l'implémentation des fonctions dans chaque projet sur lequel vous travaillez.
Tout ce que vous avez à faire est de stocker toutes les fonctions mathématiques dont vous avez besoin dans un module, puis d'importer le module partout où vous avez besoin d'utiliser les fonctions. C'est essentiellement ce qui a été fait avec le math module utilisé dans l’exemple ci-dessus.
Custom Modules in Python
Un module personnalisé en Python est un module que vous créez vous-même. Contrairement aux modules intégrés tels que math, numpy et pandas, fournis avec Python, un module personnalisé est créé par un utilisateur, généralement pour effectuer une certaine tâche. fonction ou répondre à un besoin dans un projet sur lequel ils travaillent.

La création de votre propre module personnalisé vous permet d'écrire du code réutilisable, clair à lire et à comprendre. Cela facilite également l'organisation de grands projets Python en les décomposant en modules plus petits, chacun remplissant sa propre fonction. Cela rend la gestion et la maintenance de votre projet Python moins compliquées, même pour un développeur qui n'a pas travaillé sur le projet.
Lorsque vous travaillez en équipe, les modules personnalisés sont également utiles car les développeurs peuvent travailler sur différents modules en même temps, puis combiner ultérieurement leurs modules en un seul grand projet.
Cela permet essentiellement aux développeurs de travailler chacun sur différentes fonctionnalités d'un projet, ce qui entraîne des délais de livraison plus courts. Les modules personnalisés facilitent également le partage de code entre différents projets.
Le développement modulaire de projets via des modules personnalisés facilite également la mise à l'échelle des projets en ajoutant de nouveaux modules pour étendre les fonctionnalités d'un projet et ajouter de nouvelles fonctionnalités. Les tests et le débogage sont également plus faciles lorsque des modules sont utilisés, car différents modules peuvent être testés isolément, ce qui est beaucoup plus facile et plus rapide, et le débogage est également moins fastidieux.

Les modules personnalisés vous permettent également de résumer les détails d'implémentation de différentes fonctionnalités dans votre code. De cette façon, il vous suffit d’exposer les interfaces au reste du programme.
Cela peut même être vu dans les modules intégrés où vous pouvez travailler avec une fonction, telle que math.pow()
, sans avoir à savoir comment la fonction est réellement implémentée.
Compte tenu des avantages des modules personnalisés, il est important de savoir comment créer votre propre module personnalisé. Voyons comment vous pouvez créer vos propres modules personnalisés en Python.
Pré-requis
Pour commencer à créer votre propre module Python, assurez-vous d’abord que Python est installé sur votre ordinateur et que vous disposez d’un éditeur de texte ou d’un environnement de développement intégré (IDE) dans lequel vous pouvez écrire votre code.
Il est également nécessaire que vous compreniez les concepts fondamentaux de Python tels que la façon de travailler avec des variables, différents types de données, fonctions, classes et structures de contrôle. De plus, vous devez également connaître les conventions de dénomination de Python.
Creating a Custom Python Module
Pour apprendre à créer des modules personnalisés en Python, créons un module pour nous aider à travailler avec les jours de la semaine. Le module devrait nous permettre d'obtenir un jour aléatoire de la semaine, d'obtenir tous les jours d'une semaine, de vérifier si un jour est un week-end ou un jour de la semaine, et également de confirmer si une chaîne est un jour de la semaine valide. Pour créer ce module :
1. Créez un nouveau dossier de projet et, à l'intérieur du dossier, créez un fichier appelé joursdelasemaine.py
2. Ouvrez le fichier dans un éditeur de code et collez le code ci-dessous :
import random
days = ['monday', 'tuesday', 'wednesday', 'thursday','friday', 'saturday', 'sunday']
# get random day of the week
def random_day():
random_index = random.randint(0, len(days)-1)
return days[random_index]
# get all the days in a week
def all_days():
return days
# check to see if a day is a weekend or a weekday
def is_weekend(day):
lowercase_day = day.lower()
if(lowercase_day == 'saturday' or lowercase_day == 'sunday'):
return True
return False
# check if a string is a valid day of the week
def is_day_valid(day):
lowercase_day = day.lower()
if lowercase_day in days:
return True
return False
Le code ci-dessus crée un module personnalisé avec quatre fonctions à savoir : random_day()
pour avoir un jour au hasard, all_days()
pour avoir tous les jours d'une semaine, is_weekend()
pour vérifier si un jour de la semaine ou un week-end ou non, et is_day_valid()
pour confirmer si une chaîne est un jour valide de la semaine. Une fois que nous avons créé ce module, la prochaine étape consiste à l'utiliser.
3. Dans le même dossier, créez un autre fichier appelé main.py et ouvrez-le dans un éditeur. main.py est l'endroit où nous allons travailler avec le module que nous avons créé précédemment
4. Pour commencer à utiliser le daysoftheweek.py
module que nous venons de créer, dans le main.py
fichier, ajoutez la ligne suivante
import daysoftheweek
Cette ligne importe le daysoftheweek
module dans notre fichier Python principal, nous permettant de travailler avec toutes les fonctions décrites dans le daysoftheweek
module personnalisé. Notre entière daysoftheweek
Le module sera chargé et mis à disposition dans le fichier dans lequel nous travaillons.
5. Pour tester si le module fonctionne, générons un jour aléatoire de la semaine, puis vérifions si c'est un week-end ou non. Pour ce faire, entrez le code ci-dessous dans votre fichier main.py puis exécutez le fichier. Vous pouvez l'exécuter plusieurs fois pour obtenir des résultats différents.
import daysoftheweek
# get random day of the week
rand_day = daysoftheweek.random_day()
# check if the random day is a weekend or not
is_weekend = daysoftheweek.is_weekend(rand_day)
print("Random day of the week generated: " + rand_day)
print("Is it a weekend?:" + str(is_weekend))
Sortie :
Random day of the week generated: sunday
Is it a weekend?:True

6. Au lieu d'importer l'intégralité de notre module personnalisé dans le fichier dans lequel nous travaillons, nous pouvons importer uniquement les fonctions dont nous avons besoin. Pour ce faire, nous utilisons la syntaxe d'importation suivante :
from <module_name> import <function_nam>
Dans notre cas, pour importer uniquement le is_day_valid()
fonction, nous utilisons cette ligne :
from daysoftheweek import is_day_valid
En utilisant cette syntaxe, nous importons uniquement le is_day_valid()
fonction de notre module personnalisé. Toutes les autres fonctions de notre module personnalisé que nous n'avons pas explicitement importées ne seront pas disponibles. Vous pouvez tester le is_day_valid()
fonction en utilisant le code ci-dessous :
from daysoftheweek import is_day_valid
day = 'Friday'
greeting = "Hello"
print("Is " + day + " a valid day of the week?")
print(is_day_valid(day))
print("Is " + day + " a valid day of the week?")
print(is_day_valid(greeting))
Sortie :
Is Friday a valid day of the week?
True
Is Hello a valid day of the week?
False

7. Nous pouvons également importer notre module personnalisé en utilisant un alias. Autrement dit, donner à notre module une sorte de surnom que nous pouvons utiliser pour accéder au module. Pour ce faire, nous utilisons le as
mot-clé comme indiqué ci-dessous :
import daysoftheweek as week
Une fois que nous avons importé le module à l'aide d'un alias, nous utilisons l'alias, dans notre cas, pour accéder aux fonctions et variables du module. Un exemple de ceci est présenté ci-dessous :
import daysoftheweek as week
days_of_week = week.all_days()
# Loop through the days and print them in uppercase
for day in days_of_week:
print(day.upper())
Sortie :
MONDAY
TUESDAY
WEDNESDAY
THURSDAY
FRIDAY
SATURDAY
SUNDAY

Conclusion
Les modules sont un outil très utile dans la boîte à outils d'un programmeur. Les modules vous permettent d'organiser votre code et d'écrire du code lisible, réutilisable et facile à gérer et à maintenir. Si vous avez besoin de réécrire l'implémentation de diverses fonctionnalités dans vos projets Python, vous devriez envisager de créer des modules personnalisés.
Cela devrait également être le cas lorsque vous souhaitez diviser une tâche ou un programme volumineux en sous-tâches plus petites et gérables. Bon codage !
Vous pouvez également en savoir plus sur Bibliothèques et modules Python tout développeur devrait le savoir.
-
Collins Kariuki est développeur de logiciels et rédacteur technique pour Geekflare. Il a plus de quatre ans d'expérience dans le développement de logiciels, une formation en informatique et a également écrit pour Argot, Daily Nation et le Business Daily Newspaper.
-
Narendra Mohan Mittal est stratège principal en stratégie de marque numérique et éditeur de contenu avec plus de 12 ans d'expérience polyvalente. Il est titulaire d'un M-Tech (médaillé d'or) et d'un B-Tech (médaillé d'or) en informatique et ingénierie.
... lire la suite