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 :
dans le répertoire où se trouve le script qui fait l’import
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