Créer des modules importables

Terminée

Pourboire

Pour plus d’informations, consultez l’onglet Texte et images !

Une fois que votre programme comporte plus qu’une poignée de fonctions, il devient difficile de s’y retrouver si tout est regroupé dans un seul fichier. Python résout cela avec des modules. Un module est simplement un .py fichier dont les fonctions et les variables peuvent être réutilisées à partir d’autres fichiers.

Création de votre propre module

Tout fichier Python que vous écrivez peut être importé en tant que module. Le nom du module est le nom du fichier sans l’extension .py .

Supposons que vous disposiez de ce fichier : math_utils.py

# math_utils.py

def add(a, b):
    return a + b

def multiply(a, b):
    return a * b

Importation d’un module

À partir d’un autre fichier dans le même dossier, vous pouvez importer math_utils et utiliser ses fonctions :

# app.py
import math_utils

print(math_utils.add(2, 3))        # Output: 5
print(math_utils.multiply(4, 5))   # Output: 20

Importation de noms spécifiques

Si vous n’avez besoin que de quelques éléments à partir d’un module, vous pouvez les importer par nom. Cette syntaxe vous permet de les utiliser sans préfixe de module :

from math_utils import add, multiply

print(add(2, 3))        # Output: 5
print(multiply(4, 5))   # Output: 20

Utilisation d’un alias

Si un nom de module est long ou se heurte à un autre nom, vous pouvez lui donner un alias plus court avec as:

import math_utils as mu

print(mu.add(2, 3))   # Output: 5

Vous verrez souvent ce modèle avec des bibliothèques tierces, par exemple import pandas as pd.

Le bloc if __name__ == "__main__":

Lorsque vous import un fichier, Python exécute le code qu’il contient. Si vous souhaitez inclure du code qui ne doit s’exécuter que lorsque le fichier est exécuté directement, placez-le dans un if __name__ == "__main__": bloc :

# math_utils.py

def add(a, b):
    return a + b

if __name__ == "__main__":
    # Quick self-test — only runs when this file is executed directly
    print(add(2, 3))

Ce modèle permet à un fichier de fonctionner à la fois en tant que script autonome et en tant que module importable.

Pourquoi les modules importent

  • Ils veillent à ce que chaque fichier se concentre sur une seule responsabilité.
  • Ils facilitent le test du code, car les fonctions vivent dans un seul endroit.
  • Ils le rendent naturel pour partager et réutiliser du code entre les projets.