Qu’est-ce qu’un module ?

Un module est un ensemble de fonctions et classes dédiées à une tâche précise rangées sous un même nom.

Utilisation

[1]:
# Pour importer un module, on utilise la command `import`
import math
type(math)
[1]:
module
[2]:
# Tout élément du module est accessible via le `.`
math.pi
[2]:
3.141592653589793
[3]:
math.e
[3]:
2.718281828459045
[4]:
math.sqrt(2)
[4]:
1.4142135623730951

On peut n’importer que certains éléments du module

[5]:
# e n'est pas défini pour le moment, seulement math.e
e
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
Cell In[5], line 2
      1 # e n'est pas défini pour le moment, seulement math.e
----> 2 e

NameError: name 'e' is not defined
[6]:
from math import cos, e, pi
[7]:
# désormais e est défini, même valeur que math.e
e
[7]:
2.718281828459045
[8]:
cos(pi)
[8]:
-1.0

Mais on préfèrera l’utilisation du . pour une meilleure traçabilité.

Les Standard Libraries

Python dispose de nombreuses librairies par défaut, qui couvrent une grande variété de besoins.

Les modules tierces

En plus des modules standards, on trouve les modules tiers dont une grande part est offerte par la communauté.

Créer un module

Un module simple est un fichier Python normal. On peut donc créer facilement ses propres modules. Il suffit de le placer au bon endroit.

L’instruction

import monbomodule

cherche le fichier monbomodule.py à 2 endroits :

  1. dans le répertoire où se trouve le script qui fait l’import

  2. dans les répertoires où sont installés les modules standards et tierce

Il suffit de mettre son module au même endroit que sont script.

Note : package

Si vous travaillez trop fort, vous risquez d’avoir trop de modules. Dans ce cas, il faut créer un package, ce qui consiste principalement mettre les modules dans un répertoire.

Pourquoi créer un module ?

  • Pour structurer son code

    • ranger les fonctions qui marchent ensemble au même endroit

    • séparer les choses qui n’ont rien à voir entre elles

    • => un code plus facile à lire et augmenter

  • Pour réutiliser son code

    • debugger une seule fonction pour corriger tous les scripts qui s’en servent = souffrance / 10

    • améliorer une seule fonction pour accélérer tous les scripts qui s’en servent = bonheur * 10

    • => karma * 100

Exercices

Mon premier module: rédiger un module qui comprend la fonction double, et l’utiliser dans Python