Intermédiaire35 min25 XP
Objectifs de cette leçon
- Importer des modules avec import
- Utiliser from...import
- Installer des paquets avec pip
Modules et packages 📦
Qu'est-ce qu'un module ? 🤔
Un module est un fichier Python contenant des fonctions, des variables ou des classes que tu peux importer dans ton propre code. C'est comme un kit d'outils pret a l'emploi.
💡 Python a des milliers de modules prets a l'emploi. Pas besoin de tout reinventer !
Importer avec import 📥
import math print(math.pi) # 3.141592653589793 print(math.sqrt(16)) # 4.0 print(math.ceil(4.2)) # 5
Importer avec from ... import 🎯
from math import pi, sqrt print(pi) # 3.141592653589793 print(sqrt(16)) # 4.0
Renommer avec as 🏷️
import math as m print(m.pi) from datetime import datetime as dt now = dt.now() print(now)
Les modules de la bibliotheque standard 📚
math — mathematiques 🔢
import math print(math.pi) # 3.141592653589793 print(math.e) # 2.718281828459045 print(math.sqrt(25)) # 5.0 print(math.ceil(4.2)) # 5 (arrondi superieur) print(math.floor(4.8)) # 4 (arrondi inferieur) print(math.log(100, 10)) # 2.0 print(math.factorial(5)) # 120 print(math.gcd(12, 8)) # 4
random — aleatoire 🎲
import random print(random.random()) # Nombre aleatoire entre 0 et 1 print(random.randint(1, 100)) # Entier entre 1 et 100 print(random.choice(["a","b","c"])) # Element aleatoire print(random.uniform(1.0, 10.0)) # Decimal entre 1.0 et 10.0 liste = [1, 2, 3, 4, 5] random.shuffle(liste) print(liste) # Melange en place
datetime — dates et heures 📅
from datetime import datetime, timedelta now = datetime.now() print(now) print(now.strftime("%d/%m/%Y")) # "15/07/2025" print(now.strftime("%H:%M")) # "14:30" naissance = datetime(2000, 5, 15) age_days = (now - naissance).days print(f"Tu as {age_days} jours") demain = now + timedelta(days=1)
| Code | Signification | Exemple |
|---|---|---|
%Y | Annee (4 chiffres) | 2025 |
%m | Mois (01-12) | 07 |
%d | Jour (01-31) | 15 |
%H | Heure (00-23) | 14 |
%M | Minute (00-59) | 30 |
os — systeme d'exploitation 🖥️
import os print(os.getcwd()) print(os.listdir(".")) print(os.path.exists("fichier.txt")) print(os.path.join("dossier", "f.txt")) os.makedirs("nouveau_dossier", exist_ok=True)
json — donnees JSON 🌐
import json data = {"nom": "Alice", "age": 25} json_str = json.dumps(data, indent=2, ensure_ascii=False) print(json_str) charge = json.loads('{"nom": "Bob", "age": 30}') print(charge["nom"])
re — expressions regulieres 🔍
import re texte = "Contactez-nous a alice@example.com ou bob@test.fr" emails = re.findall(r'[\w.]+@[\w.]+', texte) print(emails) # ['alice@example.com', 'bob@test.fr'] if re.match(r'^\d{5}$', "75001"): print("Code postal valide")
Installer des packages avec pip 📲
pip install requests pip install requests==2.28.0 pip install -r requirements.txt pip list pip install --upgrade requests pip uninstall requests
Packages populaires
| Package | Usage |
|---|---|
requests | Requetes HTTP |
pandas | Manipulation de donnees |
numpy | Calcul numerique |
matplotlib | Graphiques |
flask | Serveur web leger |
beautifulsoup4 | Scraping web |
Creer tes propres modules 🏗️
# fichier : mes_utils.py def saluer(nom): return f"Bonjour {nom} !" PI = 3.14159 class Calculatrice: @staticmethod def additionner(a, b): return a + b
# fichier : main.py import mes_utils print(mes_utils.saluer("Alice")) # "Bonjour Alice !" print(mes_utils.PI) # 3.14159
Le bloc if __name__ == "__main__"
# fichier : ma_module.py def dire_bonjour(): print("Bonjour !") # Ce code ne s'execute que si le fichier est lance directement if __name__ == "__main__": dire_bonjour() print("Module en mode test")
Le systeme de packages 📁
mon_projet/ ├── main.py ├── config.py ├── requirements.txt ├── utils/ │ ├── __init__.py │ ├── maths.py │ └── texte.py └── data/ ├── input.csv └── output.json
from utils.maths import additionner from utils.texte import nettoyer_texte
Diagramme du systeme de modules 🔄
Bonnes pratiques ✅
# 1. Organisation des imports (PEP 8) # a) Imports standard import os import json from datetime import datetime # b) Imports de packages tiers import requests import pandas as pd # c) Imports locaux from mon_package import ma_fonction # 2. Utiliser des alias pour les noms longs import numpy as np import pandas as pd
Exercice pour toi 🎯
# Exercice 1 : Generateur de mots de passe import random import string def generer_mdp(longueur=12): caracteres = string.ascii_letters + string.digits + "!@#$%" return ''.join(random.choice(caracteres) for _ in range(longueur)) print(f"Mot de passe : {generer_mdp(16)}") # Exercice 2 : Horloge digitale from datetime import datetime import time for i in range(5): now = datetime.now().strftime("%H:%M:%S") print(f"\r🕐 {now}", end="", flush=True) time.sleep(1) print() # Exercice 3 : Analyse de texte import re from collections import Counter def analyser_texte(texte): mots = re.findall(r'\b\w+\b', texte.lower()) compteur = Counter(mots) return { "nb_mots": len(mots), "mots_uniques": len(compteur), "plus_frequents": compteur.most_common(5) } texte = "Le python est un langage. Python est populaire. Python est facile." resultat = analyser_texte(texte) print(f"Nombre de mots : {resultat['nb_mots']}") print(f"Mots les plus frequents : {resultat['plus_frequents']}")
💡 Astuce : Verifie toujours la bibliotheque standard avant d'installer un package ! 🎯
⚡ Simulateur — Modules et packages
Étape 1/5📝 Pseudo-code
1import math
2print(math.pi)
3from random import randint
4n = randint(1, 10)
5print(n)
⚙️ Exécution
📦 Mémoire
Aucune variable
🔀 Flux d'exécution
import math
3
Import du module
import math charge le module math dans la mémoire. On pourra ensuite accéder à ses fonctions avec le préfixe math.