Python >> Tutoriel Python >  >> Python

Fonction Python abs()

abs(x) intégré de Python la fonction renvoie la valeur absolue de l'argument x qui peut être un entier, un flottant ou un objet implémentant le __abs__() fonction. Pour un nombre complexe, la fonction renvoie sa grandeur. La valeur absolue de tout argument d'entrée numérique -x ou +x est la valeur positive correspondante +x .

Argumentation x int, flottant, complexe, objet avec __abs__() mise en œuvre
Valeur de retour |x| Renvoie la valeur absolue de l'argument d'entrée.
Entrée entière --> Sortie entière
Entrée flottante --> Sortie flottante
Entrée complexe --> Sortie complexe

Interface de code interactif

Exemple entier abs()

L'extrait de code suivant vous montre comment utiliser la valeur absolue 42 d'une valeur entière positive 42.

# POSITIVE INTEGER
x = 42
abs_x = abs(x)

print(f"Absolute value of {x} is {abs_x}")
# Absolute value of 42 is 42

L'extrait de code suivant vous montre comment utiliser la valeur absolue 42 d'une valeur entière négative -42.

# NEGATIVE INTEGER
x = -42
abs_x = abs(x)

print(f"Absolute value of {x} is {abs_x}")
# Absolute value of -42 is 42

Exemple Float abs()

L'extrait de code suivant vous montre comment utiliser la valeur absolue 42,42 d'une valeur entière positive 42,42.

# POSITIVE FLOAT
x = 42.42
abs_x = abs(x)

print(f"Absolute value of {x} is {abs_x}")
# Absolute value of 42.42 is 42.42

L'extrait de code suivant vous montre comment utiliser la valeur absolue 42,42 d'une valeur entière négative -42,42.

# NEGATIVE FLOAT
x = -42.42
abs_x = abs(x)

print(f"Absolute value of {x} is {abs_x}")
# Absolute value of -42.42 is 42.42

Exemple Abs complexe()

L'extrait de code suivant vous montre comment utiliser la valeur absolue d'un nombre complexe (3+10j).

# COMPLEX NUMBER
complex_number = (3+10j)
abs_complex_number = abs(complex_number)

print(f"Absolute value of {complex_number} is {abs_complex_number}")
# Absolute value of (3+10j) is 10.44030650891055

Python abs() contre fabs()

La fonction intégrée de Python abs(x) calcule le nombre absolu de l'argument x . De même, le fabs(x) fonction du module mathématique calcule la même valeur absolue. La différence est que math.fabs(x) renvoie toujours un nombre flottant tandis que le abs(x) intégré de Python renvoie un entier si l'argument x est aussi un entier. Le nom "fabs" est un raccourci pour "valeur absolue flottante" .

Voici un exemple minimal :

x = 42


# abs()
print(abs(x))
# 42


# math.fabs()
import math
print(math.fabs(x))
# 42.0

Python abs() contre np.abs()

La fonction intégrée de Python abs(x) calcule le nombre absolu de l'argument x . De même, le np.abs(x) de NumPy fonction calcule la même valeur absolue. Il y a deux différences :(1) np.abs(x) renvoie toujours un nombre flottant tandis que le abs(x) intégré de Python renvoie un entier si l'argument x est un entier, et (2) np.abs(arr) peut également être appliqué à un tableau NumPy arr qui calcule les valeurs absolues élément par élément.

Voici un exemple minimal :

x = 42


# abs()
print(abs(x))
# 42


# numpy.abs()
import numpy as np
print(np.fabs(x))
# 42.0

# numpy.abs() array
a = np.array([-1, 2, -4])
print(np.abs(a))
# [1 2 4]

abdos et np . absolue sont complètement identiques. Peu importe celui que vous utilisez. Les noms courts présentent plusieurs avantages :ils sont plus courts et ils sont connus de Python programmeurs car les noms sont identiques au Python intégré fonctions.

Résumé

Le abs() function est une fonction intégrée qui renvoie la valeur absolue d'un nombre. La fonction accepte les entiers, les flottants et les nombres complexes en entrée.

Si vous passez abs() un entier ou un flottant, n , il renvoie la valeur non négative de n et conserve son type. Autrement dit, si vous passez un entier, abs() renvoie un entier, et si vous passez un flottant, il renvoie un flottant.

# Int returns int
>>> abs(20)
20
# Float returns float
>>> abs(20.0)
20.0
>>> abs(-20.0)
20.0

Le premier exemple renvoie un int, le second renvoie un float et le dernier exemple renvoie un float et démontre que abs() renvoie toujours un nombre positif.

Les nombres complexes sont composés de deux parties et peuvent être écrits sous la forme a + bja et b sont soit des entiers soit des flottants. La valeur absolue de a + bj est défini mathématiquement comme math.sqrt(a**2 + b**2) . Ainsi, le résultat est toujours positif et toujours un flottant (puisque prendre la racine carrée renvoie toujours un flottant).

>>> abs(3 + 4j)
5.0
>>> math.sqrt(3**2 + 4**2)
5.0

Ici vous pouvez voir que abs() renvoie toujours un flottant et que le résultat de abs(a + bj) est identique à math.sqrt(a**2 + b**2) .