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.

En bref: un module est comme une boîte à outil. Elle contient des outils (qui sont les fonctions) qu'on peut réutiliser dans un programme après l'avoir importé.

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>

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>

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 *

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 *

Exemple

from math import *

print(sqrt(25))
print(pi)
print(radians(90))

Syntaxe 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

Il est parfois nécessaire d'exécuter la commande

python.exe -m pip install --upgrade pip

pour mettre à jour l'installateur pip. En cas de besoin, le message de suivant apparait :

  • 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