ETS
Plateforme ETSRessources, chapitres & exercices interactifs
?Se connecter
PYTHON · modularite

Organiser et structurer son code Python

Objectifs pédagogiques

Qu’est-ce qu’un module ?

Exemple

Fichier maths_utils.py :

def carre(x):
    return x * x

Fichier programme.py :

import maths_utils

print(maths_utils.carre(5))

Résultat :

25

Les différents types d’importation

Importer tout le module

Importer une fonction spécifique

Il est possible d’importer uniquement certains éléments d’un module. L'objectif est de ne pas charger tout le module en mémoire si on n’a besoin que d’une partie.

Ici, seule la fonction sqrt est importée depuis le module math.

Renommer un module

De façon optionnelle, on peut renommer un module lors de l’importation avec le mot-clé as. Cela permet d’utiliser un nom plus court ou plus adapté dans le code.

Importer plusieurs éléments

Les modules standards de Python

Python intègre de nombreux modules prêts à l’emploi :

| Module | Utilisation principale | Exemple | | ---------- | --------------------------- | ----------------------- | | math | Fonctions mathématiques | math.sqrt(16) | | random | Nombres aléatoires | random.randint(1, 6) | | datetime | Dates et heures | datetime.date.today() | | os | Fichiers, dossiers, système | os.listdir() | | sys | Paramètres du programme | sys.argv |

Il en existe bien d’autres, adaptés à divers besoins (gestion des fichiers ZIP, communication réseau, traitement JSON, etc.). Vous peux consulter la documentation officielle pour une liste complète.

Exemple d’utilisation - Module datetime

Créer ses propres modules

Tu peux organiser ton code en plusieurs fichiers pour le rendre plus lisible.

Créer un fichier outils.py

def saluer(nom):
    print(f"Bonjour {nom} !")

def aire_carre(cote):
    return cote ** 2

Créer un fichier principal main.py

import outils

outils.saluer("Alice")
print("Aire du carré :", outils.aire_carre(5))

Résultat :

Bonjour Alice !
Aire du carré : 25

Organisation typique d’un projet Python

Une bonne organisation aide à maintenir ton code sur le long terme.

mon_projet/
│
├── main.py               # programme principal
├── outils.py             # fonctions utilitaires
├── data/                 # fichiers de données
│   └── notes.csv
├── modules/              # sous-modules spécifiques
│   ├── calculs.py
│   └── affichage.py
└── README.md             # description du projet

Tu peux importer des fichiers situés dans le même dossier ou dans un sous-dossier.

Exemple d’import dans un sous-dossier

Fichier modules/calculs.py :

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

Fichier main.py :

from modules.calculs import addition

print(addition(3, 7))

Résultat :

10

Le bloc spécial if __name__ == "__main__":

Exemple

# fichier outils.py
def dire_bonjour():
    print("Salut !")

if __name__ == "__main__":
    print("Ce fichier est exécuté directement.")
    dire_bonjour()

Bonnes pratiques de structuration

  • Une fonction = une seule responsabilité.
  • Un fichier = un ensemble logique de fonctions liées.
  • Des noms de fichiers et de dossiers explicites (maths_utils.py, gestion_notes.py, etc.).
  • Un point d’entrée unique (main.py).
  • Des commentaires clairs et des docstrings pour décrire les fonctions.
← Retour au module PYTHON