Formation I.S.N.

Créer ses modules et ses packages

Créer ses propres modules

Un module sous Python correspond à un fichier indépendant de celui contenant les instructions du programme qui contient un certain nombre de fonctions regroupées. Ce fichier seul n’exécute aucune instruction par lui-même. Il est appelé dans le programme principal afin que les fonctions elles aussi appelées s’exécutent.

Python possède par défaut des modules qu’il convient d’appeler dans son programme pour pouvoir en utiliser les fonctions.

Les modules math, random font partie de ceux que l’on a déjà rencontrés mais il en existe bien d’autres.



Pour créer son propres module, il suffit de rassembler l’ensemble des fonctions dont notre programme aura besoin dans un ou des fichiers (créer plusieurs fichiers si les fonctions sont à regrouper en différentes catégories).

Notre programme principal appellera alors ces fichiers grâce aux instructions :


			import os
			from nom_du_module import *
			

Remarque : l’instruction import os fait référence à un module intégré de Python qu’il est nécessaire d’importer. Il permet à Python de gérer le parcours de de l’arborescence de votre système d’exploitation pour atteindre des fichiers tiers.

D’ailleurs, l’instruction from nom_du_module import * ne fonctionne que si le fichier module est situé dans le même répertoire que le fichier du programme principal.

Créer ses propres packages

Les modules sont un moyen de regrouper plusieurs fonctions. On peut aller encore au-delà en regroupant des modules dans ce que l’on va appeler des packages.

Cela permet de ranger plus proprement ses modules. Pour y accéder, il va falloir fournir le chemin vers le module visé.

En pratique, les packages sont des répertoires pouvant eux-même contenir des sous-packages (sous-répertoires) pouvant eux-même contenir des modules (des fichiers) contenant des fonctions.

Pour qu’un répertoire soit reconnu comme package par Python, il faut y créer un fichier __init__.py. Ce fichier peut être vide. Il peut contenir aussi les instructions que l’on exécute au moment de l’import du package.