3.1 · Modules, packages & bibliothèque standard

Niveau 3 · Python intermédiaire

3.1Modules, packages & bibliothèque standard

Objectif : organiser le code en modules et exploiter la stdlib (datetime, os, collections…).
Temps estimé : 14 min

À mesure qu'un projet grandit, tout mettre dans un seul fichier devient ingérable. Les modules (un fichier .py) et les packages (un dossier de modules) permettent d'organiser le code et de le réutiliser via import. C'est le passage du script bricolé au projet structuré.

Python est réputé « livré avec les piles » : sa bibliothèque standard offre des dizaines de modules prêts à l'emploi (datetime pour les dates, os pour le système, collections, math, random…). Savoir la fouiller vous évite de réinventer la roue à chaque problème.

Vocabulaire de la section

Module
Un fichier .py réutilisable. On y accède avec import mon_module, puis mon_module.fonction().
Package
Un dossier contenant des modules (et un __init__.py), pour regrouper un ensemble cohérent de code.
import
Charge un module. Variantes : import math / from math import sqrt / import numpy as np (alias).
Bibliothèque standard
Modules fournis d'office avec Python : datetime, os, sys, json, random, math, collections, pathlib…
if __name__ == "__main__"
Bloc exécuté seulement quand le fichier est lancé directement, pas quand il est importé : sépare code et test.
Vérifiez votre compréhension

Quelle est la différence entre un module et un package ?

Modules, packages & bibliothèque standard
Vidéo hébergée sur YouTube — ouvrir dans un nouvel onglet ↗
Tutos modules & packages Python (recherche FR)
Cliquer pour voir les résultats à jour ↗

En pratique — Organiser en modules et exploiter la stdlib

  1. Créez un module « utils.py » avec deux fonctions, puis importez-le dans un autre fichier et appelez ses fonctions.
  2. Explorez la stdlib : datetime.now() pour l'heure, random.choice() pour un tirage, os.listdir() pour lister un dossier.
  3. Utilisez « from module import fonction » et l'alias « import x as y » : mesurez les différences de style.
  4. Ajoutez un bloc « if __name__ == '__main__' » à un module pour y placer un test qui ne s'exécute pas à l'import.
Vous découpez votre code en modules et exploitez la riche bibliothèque standard : votre projet gagne en clarté et en réutilisabilité.

Points clés à retenir

  • Module = un fichier .py ; package = un dossier de modules.
  • import (et ses variantes from/as) charge du code réutilisable.
  • La bibliothèque standard couvre dates, fichiers, aléatoire, maths… sans rien installer.
  • if __name__ == '__main__' sépare le code exécutable du code importable.

Questions fréquentes

Quelle différence entre « import math » et « from math import sqrt » ?

« import math » charge tout le module, à appeler avec math.sqrt(). « from math import sqrt » importe seulement sqrt, appelable directement. La première forme est plus explicite sur l'origine ; évitez « from module import * » qui pollue l'espace de noms.

À quoi sert vraiment « if __name__ == '__main__' » ?

Il permet à un fichier d'être à la fois exécutable et importable. Le code sous ce bloc ne tourne QUE si on lance le fichier directement (python fichier.py), pas quand un autre fichier l'importe. On y met généralement les tests ou le point d'entrée du programme.

Autres ressources