Fonctions mathématiques en Python : arrondi, logarithmes, factorielle
La manipulation des nombres en Python est essentielle, que ce soit pour l'analyse de données, les applications financières ou le machine learning. Maîtriser les fonctions mathématiques de Python simplifie le développement et améliore la précision de vos calculs.
Dans cet article, nous explorons en détail les opérations mathématiques clés en Python. Nous aborderons différentes méthodes pour travailler avec les nombres et verrons des exemples pratiques d'utilisation.
Module math : l'outil essentiel pour les calculs mathématiques
Le module intégré math de Python offre un large éventail de fonctions pour effectuer des calculs mathématiques. Il contient tous les outils nécessaires pour travailler avec les nombres.
import math
Principales fonctionnalités du module math
Le module math comprend de nombreuses fonctions utiles :
- Fonctions trigonométriques (sin, cos, tan)
- Fonctions hyperboliques (sinh, cosh, tanh)
- Fonctions d'arrondi (floor, ceil, trunc)
- Fonctions logarithmiques (log, log2, log10)
- Fonctions de puissance (pow, sqrt)
- Constantes mathématiques (pi, e)
Arrondir les nombres en Python
Fonction round() pour un arrondi de base
La fonction round() permet d'arrondir un nombre à un nombre spécifié de décimales. C'est la méthode la plus simple pour arrondir en Python.
nombre = 3.14159265
arrondi = round(nombre, 2)
print(arrondi) # Résultat : 3.14
Syntaxe de la fonction round() :
round(nombre, ndigits)
Paramètres de la fonction :
- nombre — le nombre à arrondir
- ndigits — le nombre de décimales (par défaut 0)
Particularités de la fonction round()
La fonction round() utilise la règle de "l'arrondi au pair". Lorsque la valeur est 0.5, le nombre est arrondi au nombre pair le plus proche :
print(round(0.5)) # Résultat : 0
print(round(1.5)) # Résultat : 2
print(round(2.5)) # Résultat : 2
Arrondi mathématique avec math.floor() et math.ceil()
Les fonctions math.floor() et math.ceil() permettent un arrondi directionnel :
- math.floor() — arrondit vers le bas (entier inférieur)
- math.ceil() — arrondit vers le haut (entier supérieur)
import math
print(math.floor(3.7)) # Résultat : 3
print(math.ceil(3.7)) # Résultat : 4
print(math.floor(-3.7)) # Résultat : -4
print(math.ceil(-3.7)) # Résultat : -3
Fonction math.trunc() pour tronquer la partie décimale
La fonction math.trunc() supprime la partie décimale sans arrondir :
print(math.trunc(3.7)) # Résultat : 3
print(math.trunc(-3.7)) # Résultat : -3
Arrondi de haute précision avec le module decimal
Pour les calculs financiers précis, utilisez le module decimal. Ce module offre un contrôle total sur la précision et élimine les erreurs d'arrondi liées aux nombres flottants.
from decimal import Decimal, ROUND_HALF_UP
valeur = Decimal('3.4567')
valeur_arrondie = valeur.quantize(Decimal('0.01'), rounding=ROUND_HALF_UP)
print(valeur_arrondie) # Résultat : 3.46
Le module decimal propose plusieurs modes d'arrondi :
- ROUND_HALF_UP — arrondi par excès si la valeur est 0.5
- ROUND_HALF_DOWN — arrondi par défaut si la valeur est 0.5
- ROUND_HALF_EVEN — arrondi au nombre pair le plus proche
- ROUND_UP — toujours arrondir vers le haut
- ROUND_DOWN — toujours arrondir vers le bas