Accéder au contenu principal

Valeur absolue en Python : tutoriel express

Apprenez à utiliser la fonction abs de Python pour obtenir la magnitude d’un nombre, sans tenir compte de son signe. Ce guide explique le calcul de la valeur absolue pour les nombres réels et complexes, et met en lumière les erreurs fréquentes.

Explorez l'IA

Un besoin courant en analyse de données consiste à calculer rapidement la valeur absolue d’une série de nombres. Python propose une fonction native très simple pour cela : abs(). Cette fonction permet aux développeurs Python d’obtenir la magnitude d’un nombre, indépendamment de son signe : elle le rend, en pratique, positif.

Comprendre la valeur absolue

En Python, la valeur absolue correspond à la distance positive entre un nombre et zéro sur une droite numérique. Pour les réels positifs, la valeur absolue est identique au nombre. Pour les réels négatifs, elle devient positive.

Exemple visuel de la définition de la valeur absolue pour des nombres réels positifs et négatifs.

Le concept est simple avec des entiers ou des flottants, mais il se complique légèrement avec les nombres complexes.

Pour un nombre complexe, la valeur absolue — ou module — se calcule à partir d’une réécriture du théorème de Pythagore. Consultez cette vidéo sur les nombres complexes pour une explication plus complète.

En résumé, si vous prenez la valeur absolue d’un nombre complexe sous la forme a+bi, le résultat se calcule avec la formule suivante : √ a2+b2.

À retenir : en Python, la fonction de valeur absolue renvoie la magnitude d’un nombre, quel que soit son signe ou sa complexité.

Comment utiliser la fonction de valeur absolue en Python

Pour utiliser la valeur absolue en Python, passez simplement le nombre en argument.

Voici un exemple de base :

num = -10
absolute_value = abs(num)
print("The absolute value of", num, "is:", absolute_value)
Output:
The absolute value of -10 is: 10

Une alternative avec math.fabs()

Il existe une méthode alternative pour obtenir une valeur absolue en Python : la méthode fabs() du module math. Conçue pour offrir davantage de précision avec les flottants, elle accepte aussi des entiers en entrée. En revanche, elle ne fonctionne pas avec les nombres complexes.

La syntaxe de math.fabs() est identique à celle de abs(), à ceci près qu’il faut importer le module math avant de l’utiliser.

À retenir : pour utiliser abs(), fournissez simplement le nombre en argument ; la fonction renverra sa valeur absolue. Pour une précision accrue avec les flottants, utilisez math.fabs().

Cas d’usage

Il existe de nombreuses situations où un nombre négatif n’a pas de sens ou pourrait poser problème. Dans d’autres cas, un data scientist peut s’intéresser uniquement à l’ampleur d’un effet, pas à sa direction. Dans ces situations, utiliser la fonction abs() est souvent pertinent.

Calcul de distance : la valeur absolue s’emploie lorsque seule la magnitude importe, par exemple pour déterminer la distance entre deux points dans un plan.

Comparaisons : parfois, vous souhaitez comparer des magnitudes sans perdre l’information de signe. Par exemple, j’ai déjà utilisé un capteur de pression qui me donnait des valeurs de pression positive et négative dans un espace. Dans certains contextes, la direction était utile, mais il m’arrivait d’avoir simplement besoin de comparer l’ampleur de deux événements de pression. J’ai utilisé une variante du code ci-dessous pour effectuer cette comparaison sans modifier les valeurs brutes.

if abs(pressure1) >= abs(pressure2):
    return "Successful"
else:
    return "Unsuccessful"

Gestion des erreurs : la valeur absolue est utile dans des scénarios de gestion d’erreurs où des valeurs négatives pourraient provoquer des comportements inattendus. En prenant la valeur absolue, vous vous assurez de ne considérer que des valeurs positives.

Problèmes courants

Types non numériques

Une erreur fréquente avec abs() en Python est de l’appliquer à des types non numériques. Assurez-vous que votre entrée est bien un nombre, et non une chaîne de caractères ou un autre type.

Perte d’information

Autre piège classique : perdre une information de signe importante. Reprenez l’exemple de la pression ci-dessus. Si j’avais pris la valeur absolue sans discernement, j’aurais perdu une information directionnelle précieuse. En limitant l’usage de abs() aux cas nécessaires et en conservant la valeur brute, j’ai préservé cette information pour la suite. Gardez aussi cela en tête au moment de tirer des conclusions.

Nombres complexes inattendus

Des erreurs peuvent survenir si un nombre complexe imprévu se glisse dans vos entrées. Étant donné que la valeur absolue d’un complexe se calcule différemment, un complexe inattendu peut entraîner des comportements étranges plus loin dans votre code. Et si vous utilisez math.fabs(), un complexe inattendu peut générer une erreur.

Conclusion

La fonction de valeur absolue en Python est un outil polyvalent pour obtenir la magnitude d’un nombre, quel que soit son signe. Savoir l’exploiter est essentiel pour les programmeurs Python.

Pour aller plus loin en mathématiques, explorez le module math de Python ou cet article qui démystifie des concepts mathématiques. Nous vous recommandons vivement de suivre un cours d’introduction aux statistiques ou un cours de statistiques en Python. Découvrez aussi dans cet article pour apprendre Python comme un expert et dans ce parcours de programmation Python de DataCamp dans quels contextes non mathématiques la valeur absolue peut être utile.

Amberle McKee

Auteur

Amberle McKee

Je suis titulaire d'un doctorat et j'ai 13 ans d'expérience dans le traitement des données dans un environnement de recherche biologique. Je crée des logiciels dans plusieurs langages de programmation, notamment Python, MATLAB et R. Je suis passionné par le partage de mon amour de l'apprentissage avec le monde.

Sujets

Contenus associés

Tutoriel

Classes abstraites Python : Un guide complet avec des exemples