Python au lycée (4) : Les fonctions Méthode

Importer et utiliser un module (math, random)

Durée estimée
5 minutes
Votre progression

Créez un compte gratuit pour suivre votre avancement et reprendre où vous avez laissé.

Créer un compte

Module

Un module Python est un fichier contenant des fonctions et des constantes prêtes à l'emploi. Pour les utiliser, il faut d'abord importer le module dans le programme.

Méthode

Trois syntaxes pour importer, selon l'usage :

  1. Importer tout le module : import nom_du_module. Il faut ensuite préfixer chaque fonction par le nom du module : math.sqrt(9). Syntaxe la plus claire et la plus sûre.
  2. Importer une fonction précise : from nom_du_module import nom_de_la_fonction. On appelle ensuite la fonction directement : sqrt(9).
  3. Importer tout d'un coup : from nom_du_module import *. Toutes les fonctions sont disponibles sans préfixe. À utiliser avec précaution (risque de collision de noms).

L'instruction import est placée au début du fichier, avant toute utilisation des fonctions.

Calcul avec le module math

On veut utiliser $\sqrt{\,}$ et $\pi$ pour calculer l'aire d'un disque de rayon 5 :

import math

r = 5
aire = math.pi * r ** 2
diagonale = math.sqrt(2) * 10
print("Aire :", aire)
print("Diagonale :", diagonale)

Étape 1 : import math charge le module.

Étape 2 : On utilise math.pi (constante $\pi$) et math.sqrt(2) (fonction $\sqrt{\,}$). Chaque élément est préfixé par math..

Étape 3 : Résultats affichés :

Aire : 78.53981633974483
Diagonale : 14.142135623730951

Importer seulement ce dont on a besoin

Variante avec from math import ... :

from math import sqrt, pi

r = 5
aire = pi * r ** 2
diagonale = sqrt(2) * 10
print(aire, diagonale)

Étape 1 : On importe uniquement sqrt et pi.

Étape 2 : Dans le code, on les appelle sans préfixe : pi et sqrt(2).

Étape 3 : Résultat identique à l'exemple précédent, mais le code est plus court.

Simulation avec le module random

Le module random permet de générer des nombres aléatoires. On simule 5 lancers d'un dé à six faces :

from random import randint

for i in range(5) :
    print(randint(1, 6))

Étape 1 : On importe randint. La fonction randint(a, b) renvoie un entier au hasard entre a et b (bornes incluses).

Étape 2 : La boucle répète 5 fois l'instruction print(randint(1, 6)). À chaque exécution, on obtient un tirage différent.

Étape 3 : Un résultat possible :

4
1
6
3
5

Remarque

Principales fonctions du module math utilisées au lycée : sqrt(x) (racine carrée), pi ($\pi$), cos(x), sin(x), exp(x), log(x).

Principales fonctions du module random utilisées au lycée : random() (décimal dans $[0~;~1[$), randint(a, b) (entier dans $[a~;~b]$).

Attention

Avec from math import *, toutes les fonctions du module deviennent disponibles sans préfixe, mais certaines ont des noms courants (comme pi, e) qui peuvent entrer en conflit avec des variables du programme. Préférer import math ou from math import ... avec les noms explicites.

Pour s'entraîner