Python Fonction abs() : exemples de valeurs absolues

โšก Rรฉsumรฉ intelligent

Python La fonction intรฉgrรฉe `abs()` renvoie la valeur absolue d'un nombre, c'est-ร -dire sa distance ร  zรฉro sans le signe. Elle accepte les entiers, les nombres ร  virgule flottante et les nombres complexes, et renvoie la valeur absolue pour les nombres complexes.

  • (I.e. Valeur absolue : abs() supprime le signe d'un nombre et renvoie sa distance par rapport ร  zรฉro, donc abs(-25) et abs(25) donnent tous deux 25.
  • ๐Ÿงฎ Types de nombres : L'unique argument peut รชtre un entier, un nombre ร  virgule flottante ou un nombre complexe, et le type de retour correspond ร  l'entrรฉe.
  • (I.e. Magnitude complexe : Pour un nombre complexe tel que (3+10j), abs() renvoie sa magnitude, la racine carrรฉe des parties rรฉelles et imaginaires au carrรฉ.
  • ๐Ÿ“‹ Listes: abs() traite un nombre ร  la fois, donc une comprรฉhension telle que [abs(n) for n in nums] l'applique ร  chaque รฉlรฉment.
  • ๏ธ abs() vs math.fabs() : La fonction intรฉgrรฉe abs() conserve le type d'entrรฉe et prend en charge les nombres complexes, tandis que math.fabs() renvoie toujours un nombre flottant et nรฉcessite le module math.
  • ๐Ÿค– Aide ร  l'IA : Les outils d'IA tels que GitHub Copilot gรฉnรจrent des appels abs() et NumPy np.abs() pour des tรขches comme le calcul de l'erreur absolue moyenne ร  partir d'une courte invite.

Python Fonction abs()

Python abs ()

Python abs () est une fonction intรฉgrรฉe disponible avec la bibliothรจque standard de PythonCette fonction renvoie la valeur absolue du nombre donnรฉ. La valeur absolue d'un nombre est sa valeur sans tenir compte de son signe. Le nombre peut รชtre un entier, un nombre ร  virgule flottante ou un nombre complexe. Si le nombre donnรฉ est complexe, la fonction renvoie sa valeur absolue (modulo).

Syntaxe

La syntaxe de la fonction abs() est prรฉsentรฉe ci-dessous :

abs(value)

Paramรจtres (valeur)

La valeur d'entrรฉe ร  donner ร  abs() pour obtenir la valeur absolue. Il peut s'agir d'un nombre entier, d'un nombre flottant ou d'un nombre complexe.

Valeur de retour:

La fonction abs() renvoie la valeur absolue du nombre donnรฉ.

  • Si l'entrรฉe est un entier, la valeur de retour sera รฉgalement un entier.
  • Si la valeur d'entrรฉe est un nombre ร  virgule flottante, la valeur de retour sera รฉgalement un nombre ร  virgule flottante.
  • Si l'entrรฉe est un nombre complexe, la valeur de retour sera la grandeur de l'entrรฉe.

Exemples

Les exemples suivants illustrent l'application de la fonction abs() aux valeurs entiรจres, flottantes et complexes.

Code Exemple 1 : Nombres entiers et nombres ร  virgule flottante

Pour obtenir la valeur absolue d'un entier et d'un nombre ร  virgule flottante, consultez ce code :

# testing abs() for an integer and float
  int_num = -25
  float_num = -10.50
  print("The absolute value of an integer number is:", abs(int_num))
  print("The absolute value of a float number is:", abs(float_num))

Sortie :

The absolute value of an integer number is: 25
The absolute value of a float number is: 10.5

Exemple 2 : nombre complexe

Pour obtenir la valeur absolue d'un nombre complexe, utilisez ce code :

# testing abs() for a complex number
complex_num = (3+10j)
print("The magnitude of the complex number is:", abs(complex_num))

Sortie :

The magnitude of the complex number is: 10.44030650891055

Comment trouver la valeur absolue d'une liste ? Python

La fonction `abs()` ne fonctionne que sur un seul nombre ; lui passer une liste entiรจre provoque donc une erreur `TypeError`. Pour l'appliquer ร  chaque รฉlรฉment d'une liste, utilisez une comprรฉhension de liste qui appelle `abs()` sur chaque รฉlรฉment.

numbers = [12, 30, -33, -22, 77, -100]
abs_numbers = [abs(num) for num in numbers]
print(abs_numbers)

Sortie :

[12, 30, 33, 22, 77, 100]

La comprรฉhension conserve l'ordre initial et renvoie une nouvelle liste de valeurs positives. Vous pouvez obtenir le mรชme rรฉsultat avec la fonction intรฉgrรฉe map(), par exemple. list(map(abs, numbers)), qui applique abs() ร  chaque รฉlรฉment sans รฉcrire de boucle explicite.

  • Utilisez une comprรฉhension de liste lorsque vous souhaitez รฉgalement filtrer ou transformer les valeurs.
  • Utilisez map() pour un appel court et lisible qui applique directement abs().
  • Pour les grands ensembles de donnรฉes numรฉriques, un tableau NumPy avec np.abs() est plus rapide qu'un Python boucle.

Python abs() vs math.fabs()

Python Il existe deux faรงons d'obtenir une valeur absolue : la fonction intรฉgrรฉe `abs()` et la fonction `fabs()` du module `math`. Elles se ressemblent, mais leur fonctionnement diffรจre.

import math

print(abs(-7))          # 7 (int is unchanged)
print(math.fabs(-7))    # 7.0 (float result)

Sortie :

7
7.0

Les principales diffรฉrences entre les deux fonctions sont les suivantes :

  • Type de retour : abs() prรฉserve le type d'entrรฉe et renvoie un entier pour un entier, tandis que math.fabs() renvoie toujours un nombre ร  virgule flottante.
  • Importer: abs() est toujours disponible, mais math.fabs() nรฉcessite import math.
  • Nombres complexes : abs() renvoie la magnitude d'un nombre complexe, tandis que math.fabs() lรจve une exception TypeError pour une entrรฉe complexe.

Applications pratiques de la Python Fonction abs()

Comme elle ignore le signe, la fonction abs() est utile lorsque seule la valeur absolue d'une mesure importe, et non son sens. Un exemple courant est le calcul de la diffรฉrence entre deux lectures :

temp_morning = 12
temp_night = -5
print("Temperature change:", abs(temp_morning - temp_night))

Sortie :

Temperature change: 17

L'utilisation courante de la valeur absolue comprend :

  • Distances et diffรฉrences : mesurer l'รฉcart entre deux points, tempรฉratures ou horodatages, quelle que soit la valeur la plus รฉlevรฉe.
  • Mรฉtriques d'erreur : calculer l'erreur absolue entre une valeur prรฉdite et une valeur rรฉelle.
  • Contrรดles de tolรฉrance : tester si un rรฉsultat est suffisamment proche d'une cible, comme dans abs(actual - expected) < 0.01.
  • Finances: indiquer l'ampleur d'un gain ou d'une perte sans son signe.

Comme le fonction round(), abs() est une fonction intรฉgrรฉe que vous pouvez appeler directement sans importer aucun module.

FAQ

Non. abs() renvoie une nouvelle valeur et ne modifie jamais son argument, car les nombres dans Python sont immuables. Pour conserver le rรฉsultat, assignez-le ร  une variable, par exemple positive = abs(nombre). La variable d'origine conserve sa valeur signรฉe.

Non. L'utilisation d'une chaรฎne de caractรจres comme argument gรฉnรจre une erreur TypeError : type d'opรฉrande incorrect pour abs() : ยซ str ยป, car abs() n'accepte que des entiers, des nombres ร  virgule flottante ou des nombres complexes. Pour mesurer la longueur d'une chaรฎne, utilisez plutรดt len(), qui renvoie le nombre de caractรจres qu'elle contient.

Vous pouvez la calculer manuellement. Pour une valeur x, max(x, -x) renvoie la valeur absolue, et (x ** 2) ** 0.5 fonctionne รฉgalement pour les nombres rรฉels. Cependant, la fonction intรฉgrรฉe abs() est plus claire, plus rapide et gรจre aussi les nombres complexes.

Non. La notation avec barre verticale |x| est mathรฉmatique, pas Python syntaxe; dans Python Le symbole | reprรฉsente l'opรฉrateur OU bit ร  bit. Pour obtenir une valeur absolue, il faut appeler la fonction intรฉgrรฉe abs(), par exemple abs(-8), qui renvoie 8.

__abs__ est la mรฉthode sous-jacente appelรฉe par abs() en arriรจre-plan. Lorsque vous รฉcrivez abs(obj), Python exรฉcute obj.__abs__(). Dรฉfinir __abs__ dans votre propre classe permet ร  abs() de fonctionner sur des objets personnalisรฉs, tels qu'un vecteur ou un type monรฉtaire.

Utilisez les versions vectorisรฉes plutรดt qu'une boucle. La fonction `np.abs(array)` de NumPy renvoie un nouveau tableau dont tous les รฉlรฉments sont convertis en valeurs absolues, et la classe `Series` de pandas propose `Series.abs()`. Ces deux fonctions appliquent la valeur absolue ร  tous les รฉlรฉments simultanรฉment, ce qui est plus rapide pour les grands ensembles de donnรฉes.

La fonction `abs()` est ร  la base des mรฉtriques d'erreur et de distance. L'erreur absolue moyenne (MAE) et la perte L1 additionnent les diffรฉrences absolues entre les prรฉdictions et les cibles, tandis que les valeurs absolues mesurent l'amplitude du gradient. Pour les tableaux entiers, `np.abs()` de NumPy applique efficacement la mรชme opรฉration ร  chaque รฉlรฉment.

GitHub Copilot suggรจre des appels ร  `abs()`, des comprรฉhensions de listes comme `[abs(n) for n in nums]` et des lignes `NumPy np.abs()` directement ร  partir d'un court commentaire. Il peut รฉgalement gรฉnรฉrer une fonction d'erreur absolue moyenne, vous permettant ainsi de valider la logique au lieu d'รฉcrire du code rรฉpรฉtitif.

Rรฉsumez cet article avec :