Les modules

Python contient beaucoup de fonctions. Ces fonctions sont organisées par modules. Très souvent ces modules ont été créé par des programmeurs et chercheurs. Il s’agit d’une communauté ouverte. Pour un notebook, on n’a qu’à utiliser les modules qu’on souhaite utiliser. On fait ceci normalement au début du notebook.

Charger un module

La commande import permet d’importer des modules. Il y a plusieurs façons d’utiliser cette commande. Prenons le module numpy qui est un module très important pour le calcul en Python. La manière la plus simple de l’importer est

[12]:
import numpy as np

On invoque les fonctions en utilisant le diminutif np:

[13]:
np.sqrt(25)
[13]:
5.0

Si on a seulement besoin d’une fonction du module et non du module en entier, on peut plutôt invoquer

[14]:
from numpy import sqrt
[15]:
sqrt(25)
[15]:
5.0

Installation d’un module

On peut installer un nouveau module par le biais de l’outil pip. Par exemple, on pourrait vouloir installer un calculateur de revenu disponible, le SRD. Ce calculateur ne vient pas avec une distribution typique Python (par exemple Anaconda). On peut installer à partir d’un notebook en lancant:

[16]:
!pip install srd
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: srd in /Users/loulou/.local/lib/python3.8/site-packages (1.1.4)
Requirement already satisfied: numba in /Users/loulou/anaconda3/lib/python3.8/site-packages (from srd) (0.51.2)
Requirement already satisfied: srpp in /Users/loulou/.local/lib/python3.8/site-packages (from srd) (0.5.2)
Requirement already satisfied: xlrd in /Users/loulou/anaconda3/lib/python3.8/site-packages (from srd) (1.2.0)
Requirement already satisfied: numpy in /Users/loulou/anaconda3/lib/python3.8/site-packages (from srd) (1.19.2)
Requirement already satisfied: pandas in /Users/loulou/anaconda3/lib/python3.8/site-packages (from srd) (1.1.3)
Requirement already satisfied: setuptools in /Users/loulou/anaconda3/lib/python3.8/site-packages (from numba->srd) (50.3.1.post20201107)
Requirement already satisfied: llvmlite<0.35,>=0.34.0.dev0 in /Users/loulou/anaconda3/lib/python3.8/site-packages (from numba->srd) (0.34.0)
Requirement already satisfied: python-dateutil>=2.7.3 in /Users/loulou/anaconda3/lib/python3.8/site-packages (from pandas->srd) (2.8.1)
Requirement already satisfied: pytz>=2017.2 in /Users/loulou/anaconda3/lib/python3.8/site-packages (from pandas->srd) (2020.1)
Requirement already satisfied: six>=1.5 in /Users/loulou/anaconda3/lib/python3.8/site-packages (from python-dateutil>=2.7.3->pandas->srd) (1.15.0)

Le module peut alors être importé

[17]:
import srd