Les fonctions mathématiques du module math

La plupart des fonctions mathématiques usuelles (racine carrée, sinus, logarithme, etc.) ne sont pas chargées en mémoire au démarrage de l’interpréteur Python. Elles appartiennent à un module nommé math qu’il faut donc importer. Il y a plusieurs possibilités (l’instruction choisie doit bien sûr précéder l’utilisation des fonctions intégrées au module) :

import math charge la totalité du module math
les fonctions mathématiques sont alors accessibles sous la forme math.nom_de_la_fonction
from math import * charge la totalité du module math
on accède aux fonctions du module sans utiliser le préfixe “math.”
from math import sqrt, log, exp (par exemple) charge seulement certaines fonctions du module
on accède aux fonctions chargées sans le préfixe “math.”

Remarque : le mécanisme décrit ci-dessus est commun à tous les modules de Python (qu’ils soient intégrés à la distribution elle-même ou créés par des développeurs tiers). La méthode import nom_du_module est généralement conseillée, car elle évite des conflits de noms potentiels (on sait toujours de quel module vient telle ou telle fonction).

Autre remarque : quand le nom d’un module est un peu long, on peut utiliser un alias. Par exemple, pour charger le module itertools, on pourra écrire import itertools as it. De cette façon it devient un alias de itertools, et on pourra par exemple utiliser la fonction accumulate en écrivant simplement it.accumulate.

Pour éviter la lourdeur due à l’utilisation du préfixe “math.”, on pourra utiliser la méthode from math import ...

On voit ici la première instruction (et la première erreur) au lancement de l’application Idle : tant qu’on ne l’a pas importée, on ne peut pas utiliser la fonction sqrt car elle est inconnue de l’interpréteur Python.

On importe donc la totalité du module math par l’instruction import math. L’erreur se produit à nouveau si on oublie de préfixer par “math.” le nom de la fonction sqrt :

Voici comment on pourrait écrire l’expression {\pi\ln(1+\sqrt{2}+\sqrt{3})} après avoir chargé le module math :

Voici comment écrire la même expression, mais après avoir importé le module math par from math import * :

Quand le module math a été chargé, on obtient le détail des fonctions qu’il contient en tapant help(math).

Voici l’essentiel des fonctions du module math, évaluées en un argument x quelconque :

e pi constantes e = 2.718281828459045 et π = 3.141592653589793
log(x) log2(x) log10(x) log(x,b) logarithme népérien, de base 2, de base 10, de base b
exp(x) expm1(x) log1p(x) calcule {e^x}, {e^x-1} pour x “petit”, ln(1+x) pour x “petit”
cos(x) sin(x) tan(x) fonctions trigonométriques directes (x en radians)
degrees(x) radians(x) conversion radians → degrés, conversion degrés → radians
acos(x) asin(x) atan(x) fonctions trigonométriques réciproques de x (résultat en radians)
cosh(x) sinh(x) tanh(x) fonctions hyperboliques directes de x
acosh(x) asinh(x) atanh(x) fonctions hyperboliques réciproques de x
floor(x) ceil(x) trunc(x) partie entière [x], entier plafond, tronque vers l’entier direction 0
√
sqrt(x) fabs(x) fmod(x,y) calcule √ x, |x|, x mod y (résultats de type float)
factorial(x) gamma(x) factorielle x! (x dans N), fonction d’Euler Γ(x)
fsum(...) somme en mode flottant d’un objet itérable (par ex : une liste)

Retour à l’accueil du cours Python/Numpy

Sommaire du chapitre 2

  1. Quelques types (classes) de base
  2. Opérations entre types numériques
  3. Les opérateurs avec assignation
  4. Les fonctions mathématiques du module math
  5. Le module cmath
  6. Arithmétique des entiers
  7. Valeurs booléennes et comparaisons
  8. Égalité structurelle et égalité physique