Les modules
Définition des modules (librairies ou bibliothèques)
Un module est un fichier (ou un dossier) contenant du code Python qui peut être importé et utilisé dans d'autres fichiers Python. Les modules sont une façon de structurer et d'organiser le code en Python, en les séparant en fonctionnalités logiques et en les rendant plus modulaires et réutilisables. Il existe des modules prêts à être utilisés, mais nous pouvons aussi créer des modules personnalisés.
Exemples de modules existants : math
, random
, datetime
, statistics
, etc.
Documentation des modules math, random et datetime
L’importation de modules
Vous pouvez importer (i.e. ramener les fonctions utilitaires) des modules pour étendre les fonctionnalités du langage et vous aider à résoudre des problèmes plus facilement. L’importation d’un module en Python se fait à l'aide de l'instruction import
. Lorsqu'un module est importé, il est possible de faire appel à ses fonctions afin de les utiliser dans notre programme.
Syntaxes
Il existe plusieurs syntaxes d'importation en Python. Voici les principales :
Syntaxe import <nom_module>
import <nom_module>
Importer un module complet dans votre programme. Le nom de la fonction à appeler dans le module doit être précédé par le nom du module.
import <nom_module>
Exemple
import math
print(math.sqrt(25))
Syntaxe from <nom_module> import <nom_fonction>
from <nom_module> import <nom_fonction>
Cette syntaxe permet d'importer une fonction spécifique d'un module plutôt que le module complet. Le reste des fonctions de ce module ne sont pas mises à disposition.
from <nom_module> import <nom_fonction>
Exemples
from math import sqrt
print(sqrt(25))
Importation de plusieurs fonctions et constantes d'un module en même temps :
from math import sqrt, pi, radians
print(sqrt(25))
print(pi)
print(radians(90))
Syntaxe from <nom_module>
import *
from <nom_module>
import *Cette syntaxe permet d'importer toutes les fonctions et constantes d'un module dans votre code. Le nom de la fonction à appeler ne doit pas être précédé par le nom du module.
from <nom_module> import *
Cette syntaxe n'est pas recommandée car elle peut créer des conflits de noms et rendre le code difficile à comprendre.
Exemple
from math import *
print(sqrt(25))
print(pi)
print(radians(90))
Syntaxe import <nom_module> as <alias>
import <nom_module> as <alias>
Cette syntaxe permet d'importer un module sous un alias pour faciliter l'utilisation de son nom.
import <nom_module> as <alias>
Exemples
import math as m
print(m.sqrt(25))
import datetime as dt
now = dt.datetime.now()
print("Date et heure actuelles :", now)
Les types de modules
Les modules intégrés
Python a de nombreux modules intégrés qui peuvent être utilisés directement sans installation supplémentaire. Vous pouvez les importer directement en utilisant le mot clé import.
Exemples : math, datetime, statistics, random, etc.
Les modules tiers (doivent être installés)
Il existe de nombreux modules tiers disponibles pour Python, qui ne sont pas inclus dans l'installation standard de Python. Vous pouvez les installer à l'aide de l'outil pip (installateur de packages Python) et les importer en utilisant le mot clé import.
Exemples : pytest, numpy, pygame, matplotlib, pandas, GeoPandas, folium, etc.
Installation de modules tiers
Comme exemple, nous allons installer le module pytest
dont nous aurons besoin dans les prochains cours.
En utilisant la commande pip dans le terminal de PyCharm :
Allez dans le terminal de PyCharm et entrez la commande suivante :
pip install pytest


Dans l'IDE PyCharm :
Allez dans File->Settings et suivez les numéros de l'image ci-dessous.

Annexe
Quelques méthodes et constantes en vrac à tester pour les modules math, random, statistics et datetime.
math :
Méthodes:
- sqrt
- abs
- math.radians(30), math.degrees(math.pi/2)
- sin, cos, log,
Constantes :
- math.pi
- math.e
Random:
Méthodes:
- random.random()
- random.randint(a, b)
- random.choice()
statistics:
Méthodes:
- .mean
- .median
- .stdev
datetime:
- date_heure = datetime.datetime.now()
- datetime.datetime.date(date_heure)
- x = datetime.datetime(2020, 5, 17)
- x = datetime.datetime(2018, 6, 1)
x.strftime("%B")
- date_heure = datetime.datetime(2022,4,18, 7,58,12)
date_heure.strftime("%m/%d/%Y, %H:%M:%S")
- from datetime import timedelta
Last updated