Aller au contenu

Chapitre 7 : Modularité⚓︎

Utilisation d'un module⚓︎

Lorsqu'on écrit des programmes en Python, un certain nombre de fonctions sont reconnues automatiquement par l'interpréteur : il s'agit des fonctions natives du langage (built-in functions). On y trouve, par exemple, les fonctions input et print mais aussi len, range, sorted, etc. La liste est disponible ici.

D'autres fonctions très classiques font partie de la bibliothèque standard : il s'agit des fonctions disponibles par défaut mais qui doivent être importées depuis un module complémentaire. On y trouve, par exemple, les fonctions randint du module random, les fonctions du module graphique turtle ou du module tkinter, ou encore les fonctions du module csv vues en classe de Première.

Enfin, de nombreuses autres bibliothèques sont téléchargeables en ligne, en particulier via le Python Package Index ou PyPI. On y trouve, par exemple, le module tutormagic ou les bibliothèques pygame et Pillow (PIL).

Installation et importation d'un module⚓︎

Pour installer un module qui ne fait pas partie de la bibliothèque standard mais qui est disponible via le PyPI, comme par exemple le module folium qui permet de créer des cartes interactives, on peut exécuter le code ci-dessous dans une cellule de carnet Jupyter.

1
2
import sys
!{sys.executable} -m pip install folium

Pour importer l'ensemble des constantes, fonctions et classes du module folium et donc les rendre utilisables, on utilise la ligne de code :

1
import folium

On accède alors aux différents objets importés grâce à la syntaxe folium.nom_objet.

Lorsque le nom du module est long, il est possible de lui donner un alias lors de l'importation, en écrivant import folium as f par exemple. Dans ce cas, les objects importés sont accessibles sous le nom f.nom_objet.

Il existe une autre façon d'importer le contenu d'un module, avec l'instruction from module import ... :

  • from module import Classe, fonction, CONSTANTE permet d'importer quelques classes, fonctions, constantes depuis le module. Elles sont accessibles directement par leur nom, qui n'a pas à être précédé par le nom du module,
  • from module import * permet d'importer toutes les classes, fonctions, constantes depuis le module. Elles sont accessibles directement par leur nom, qui n'a pas à être précédé par le nom du module. Cette façon d'importer est déconseillée car des fonctions provenant de modules différents peuvent porter le même nom.

Partie C - Documentation d'un module⚓︎

On accède à la documentation d'un module importé via la commande :

1
help(module)

La documentation obtenue donne accès à l'interface du module. Elle explique le rôle global du module et donne la liste des classes, des fonctions et procédures, des constantes mises à disposition de l'utilisateur ou de l'utilisatrice par le concepteur ou la conceptrice du module. Elle affiche également leurs spécifications.

L'interface doit permettre de se servir du module sans avoir à s'interroger sur la manière dont les classes, fonctions et procédures sont implémentées.

Ce qu'il faut savoir et savoir faire⚓︎

  • Installer un module via le Python Package Index.
  • Importer un module.
  • Afficher la documentation d'un module.
  • Faire la différence entre les fonctionnalités présentes dans l'interface et celles qui sont uniquement internes au module.
  • Regrouper des classes, fonctions, procédures, constantes dans un module et écrire sa documentation.

Exercices et activités⚓︎

Exercices

Carnet Jupyter à télécharger ici

Corrigé disponible ici

Carnet Jupyter à télécharger ici

Corrigé disponible ici

Carnet Jupyter à télécharger ici

Corrigé disponible ici

Activités

Carnet Jupyter à télécharger ici

Corrigé disponible ici

Carnet Jupyter à télécharger ici

Corrigé disponible ici

Carnet Jupyter à télécharger ici

Corrigé disponible ici