Modularité
Découper un programme : une fonction par tâche, factoriser le code répété, regrouper les fonctions en modules, importer, et séparer le programme principal de ce qui peut se réutiliser.
- 25 cartes
- 5 thèmes
- Gratuit
Le programme, thème par thème
Le poids de chaque thème suit celui que lui donne l'examen.
- Notions
- Questions
- Ranger et relier
- Mises en situation
- Comprendre
Quelques cartes du deck
Modularité : de quoi s'agit-il ?
Voir la réponse
Manière de construire un programme en morceaux séparés, chacun avec un rôle précis, qu'on peut écrire, tester et changer l'un sans l'autre.
Un défaut se cherche dans un seul morceau, une amélioration ne touche que lui, et un morceau déjà écrit se réutilise dans un autre programme.
Qu'affiche
python3 main.py?
```python
# outils.py
print("chargement")
def double(n):
return 2 * n
if __name__ == "__main__":
print("test", double(4))
# main.py
import outils
print(outils.double(5))`chargement, puis1010seulchargement,test 8, puis10test 8, puis10
Voir la réponse
chargement, puis10Importer exécute le fichier : le
printdu niveau du fichier s'affiche. Mais__name__vaut alors"outils"et non"__main__", donc le bloc de test est sauté.Du code qui se répète se remplace par une … : si on corrige un défaut, on ne le corrige qu'….
Voir la réponse
Du code qui se répète se remplace par une fonction : si on corrige un défaut, on ne le corrige qu'une fois.
Les trois copies d'une remise de 10 % deviennent un seul
appliquer_remise(prix), et changer le taux se fait à un seul endroit.Module : de quoi s'agit-il ?
Voir la réponse
Fichier qui regroupe des fonctions et des valeurs liées entre elles, et qu'un autre fichier peut utiliser en l'important.
En Python, tout fichier
.pyest un module :outils.pys'importe sous le nomoutils. Regrouperaireetperimetredansgeometrie.pydit où les chercher.Laquelle de ces fonctions respecte le mieux la responsabilité unique ?
calculer_moyenne(notes)lire_et_afficher_moyenne()traiter_notes_et_ecrire_fichier(notes)programme_complet()
Voir la réponse
calculer_moyenne(notes)calculer_moyennea une tâche et se teste sans clavier ni fichier. Les trois autres mélangent lecture, calcul, affichage ou écriture : changer l'une de ces tâches oblige à rouvrir les autres.