0% ont trouvé ce document utile (0 vote)
2 vues4 pages

Programmation Python : Modules et Tests

Ce document présente des concepts clés en Python, notamment la modularité, le débogage, les tests et le style de code selon PEP8. Il inclut des exemples pratiques et des activités pour créer des fonctions, gérer des erreurs, et structurer un projet de gestion de notes. Les sections abordent également l'utilisation de docstrings, de print() pour le débogage, et de doctest et pytest pour les tests.

Transféré par

ramzihamoutii2023
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
2 vues4 pages

Programmation Python : Modules et Tests

Ce document présente des concepts clés en Python, notamment la modularité, le débogage, les tests et le style de code selon PEP8. Il inclut des exemples pratiques et des activités pour créer des fonctions, gérer des erreurs, et structurer un projet de gestion de notes. Les sections abordent également l'utilisation de docstrings, de print() pour le débogage, et de doctest et pytest pour les tests.

Transféré par

ramzihamoutii2023
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Chapter 1: Modularité et mise au point des

programmes
Partie 1: Modules & docstrings

Concepts à apprendre

• import
• from ... import ...
• as pour alias
• __name__ == "__main__"
• docstrings (chaînes de documentation)

Explication

En Python, on peut séparer un programme en plusieurs fichiers (modules). Cela permet de mieux organiser
son code, de le réutiliser, et de le rendre plus lisible.

Exemple :

# fichier [Link]
def moyenne(notes):
"""Calcule la moyenne d'une liste de notes."""
return sum(notes) / len(notes)

# fichier [Link]
from utils import moyenne

notes = [12, 14, 16]


print("Moyenne:", moyenne(notes))

Activité

1. Créez un fichier math_utils.py avec une fonction carre(x) qui retourne le carré d’un nombre.
2. Dans un fichier [Link] , importez la fonction et utilisez-la pour calculer le carré de 3 nombres.
3. Ajoutez une docstring à chaque fonction.
4. Testez le programme.

Partie 2: Debugging et impression

Concepts à apprendre

• Utiliser print() pour suivre l'exécution

1
• Repérer les bugs logiques ou de syntaxe
• Lire un traceback Python

Exemple de bug logique :

def moyenne(notes):
return sum(notes) / len(notes)

print(moyenne([])) # Provoque une erreur : division par zéro

Activité

1. Modifiez la fonction moyenne() pour qu’elle vérifie si la liste est vide.


2. Ajoutez des print() dans le code pour suivre la valeur des variables.
3. Corrigez un bug volontairement ajouté : par exemple, un nom de variable incorrect.

Partie 3: Tests avec doctest et pytest

Concepts à apprendre

• Ajouter des tests avec doctest


• Lancer des tests avec pytest

Exemple avec doctest :

def carre(x):
"""
Retourne le carré de x

>>> carre(3)
9
>>> carre(-2)
4
"""
return x * x

Activité

1. Ajoutez des doctests aux fonctions moyenne() et carre() .


2. Installez pytest (si possible) et créez un fichier test_utils.py .
3. Ajoutez des assertions pour tester vos fonctions.

2
Partie 4: Style de code et PEP8

Concepts à apprendre

• PEP8 : convention de style Python


• Bonnes pratiques de nommage
• Espacement, commentaires, noms de fichiers

Exemple :

# Mauvais style
def M(a,b):return a+b

# Bon style
def addition(a, b):
"""Retourne la somme de deux nombres."""
return a + b

Activité

1. Reprenez votre code math_utils.py .


2. Corrigez les noms de variables, l’espacement, et ajoutez des docstrings.
3. Utilisez un validateur PEP8 si possible.

MÉMO VISUEL RÉCAPITULATIF


• ✅ import / from ... import ...
• ✅ docstrings
• ✅ print() pour le débogage
• ✅ doctest , pytest
• ✅ PEP8, style de code

MINI TEST
1. À quoi sert une docstring ?
2. Que renvoie __name__ dans un module importé ?
3. Quelle est la différence entre une erreur de syntaxe et un bug logique ?
4. Écrire une fonction avec doctest.
5. Identifier et corriger des erreurs de style dans un extrait de code.

MINI PROJET – Partie 1 du gestionnaire de notes

Objectif

Construire une petite application pour stocker et afficher les notes d’élèves.

3
Étapes

1. Créez une fonction ajouter_eleve(nom, notes) qui ajoute un élève (dans un dictionnaire).
2. Créez une fonction afficher_eleve(nom) qui affiche les notes et la moyenne.
3. Utilisez une structure dict avec noms et listes de notes.
4. Divisez le code en fichiers ( [Link] , [Link] , etc.).
5. Ajoutez des tests et du style.

Exemple :

# [Link]
eleves = {}

def ajouter_eleve(nom, notes):


eleves[nom] = notes

def afficher_eleve(nom):
if nom in eleves:
print(f"{nom}: {eleves[nom]} - Moyenne: {sum(eleves[nom])/
len(eleves[nom])}")

Ce mini-projet utilise :

• dict , list
• import , docstring
• print() pour le suivi
• Respect du style (PEP8)
• Préparation à l’OOP du chapitre 3

Souhaitez-vous maintenant ajouter des exercices supplémentaires, des captures d’écran, ou passer au
chapitre 2 ?

Vous aimerez peut-être aussi