En Python, vous pouvez la valeur absolue d’un nombre ร l’aide de la fonction intรฉgrรฉe obtenir ๐โ๐โ๐ฌโ() ou de la fonction ๐โ๐โ๐โ๐ฌโ() du module ๐ฆโ๐โ๐ญโ๐กโ .
- Fonctions intรฉgrรฉes – abs() โ Documentation Python 3.12.1
- math.fabs() โ Documentation Python 3.12.1
- Obtenir la valeur absolue d’un entier avec ๐โ๐โ๐ฌโ()
- Obtenez la valeur absolue d’un nombre ร virgule flottante avec ๐โ๐โ๐ฌโ()
- Obtenez la valeur absolue (grandeur) d’un nombre complexe avec ๐โ๐โ๐ฌโ()
- La mรฉthode spรฉciale __๐โ๐โ๐ฌโ__()
- Convertir les รฉlรฉments de la liste en leurs valeurs absolues
- Diffรฉrence entre ๐ฆโ๐โ๐ญโ๐กโ.๐โ๐โ๐โ๐ฌโ() et ๐โ๐โ๐ฌโ()
Obtenir la valeur absolue d’un entier avec ๐โ๐โ๐ฌโ()
La spรฉcification d’un entier ( ๐ขโ๐งโ๐ญโ ) ร ๐โ๐โ๐ฌโ() renvoie sa valeur absolue. Le type de retour est un entier ( ๐ขโ๐งโ๐ญโ ).
print(abs(100)) # 100 print(abs(-100)) # 100 print(type(abs(100))) # <class 'int'>
Obtenez la valeur absolue d’un nombre ร virgule flottante avec ๐โ๐โ๐ฌโ()
La spรฉcification d’un nombre ร virgule flottante ( ๐โ๐ฅโ๐จโ๐โ๐ญโ ) ร ๐โ๐โ๐ฌโ() renvoie sa valeur absolue. Le type de retour est un nombre ร virgule flottante ( ๐โ๐ฅโ๐จโ๐โ๐ญโ ).
print(abs(1.23)) # 1.23 print(abs(-1.23)) # 1.23 print(type(abs(1.23))) # <class 'float'>
Obtenez la valeur absolue (grandeur) d’un nombre complexe avec ๐โ๐โ๐ฌโ()
En Python, les nombres complexes ( ๐โ๐จโ๐ฆโ๐ฉโ๐ฅโ๐โ๐ฑโ ) peuvent รชtre reprรฉsentรฉs en utilisant ๐ฃโ comme unitรฉ imaginaire.
La spรฉcification d’un nombre complexe ( ๐โ๐จโ๐ฆโ๐ฉโ๐ฅโ๐โ๐ฑโ ) ร ๐โ๐โ๐ฌโ() renvoie sa valeur absolue (module ou grandeur). Le type de retour est un nombre ร virgule flottante ( ๐โ๐ฅโ๐จโ๐โ๐ญโ ).
print(abs(1 + 1j)) # 1.4142135623730951 print(abs(3 + 4j)) # 5.0 print(type(abs(3 + 4j))) # <class 'float'>
La mรฉthode spรฉciale __๐โ๐โ๐ฌโ__()
Lorsque ๐โ๐โ๐ฌโ() est exรฉcutรฉ, il appelle la mรฉthode spรฉciale __๐โ๐โ๐ฌโ__() de l’objet. ๐โ๐โ๐ฌโ(๐ฑโ) est รฉquivalent ร ๐ฑโ.__๐โ๐โ๐ฌโ__() .
print((-100).__abs__()) # 100 print((-1.23).__abs__()) # 1.23 print((3 + 4j).__abs__()) # 5.0
Une erreur se produit lorsque ๐โ๐โ๐ฌโ() est utilisรฉ avec un objet dรฉpourvu de mรฉthode __๐โ๐โ๐ฌโ__() , comme une liste.
l = [-2, -1, 0, 1, 2] print(hasattr(l, '__abs__')) # False # print(abs(l)) # TypeError: bad operand type for abs(): 'list'
La fonction intรฉgrรฉe ๐กโ๐โ๐ฌโ๐โ๐ญโ๐ญโ๐ซโ() dรฉtermine si un objet possรจde l’attribut ou la mรฉthode spรฉcifique.
Les classes personnalisรฉes peuvent dรฉfinir la mรฉthode __๐โ๐โ๐ฌโ__() pour prรฉciser comment ๐โ๐โ๐ฌโ() dรฉterminer leur valeur absolue. Pour la dรฉmonstration, retournez-la ici 100 .
class MyClass: def __abs__(self): return 100 mc = MyClass() print(abs(mc)) # 100
Convertir les รฉlรฉments de la liste en leurs valeurs absolues
Vous pouvez convertir les รฉlรฉments de liste en leurs valeurs absolues en utilisant ๐โ๐โ๐ฌโ() dans une comprรฉhension de liste.
l = [-2, -1, 0, 1, 2] print([abs(i) for i in l]) # [2, 1, 0, 1, 2]
Alternativement, la fonction ๐งโ๐ฉโ.๐โ๐โ๐ฌโ() de NumPy peut convertir les รฉlรฉments de la liste en leurs valeurs absolues.
Diffรฉrence entre ๐ฆโ๐โ๐ญโ๐กโ.๐โ๐โ๐โ๐ฌโ() et ๐โ๐โ๐ฌโ()
๐ฆโ๐โ๐ญโ๐กโ.๐โ๐โ๐โ๐ฌโ() renvoie รฉgalement la valeur absolue mais toujours sous la forme d’un nombre ร virgule flottante ( ๐โ๐ฅโ๐จโ๐โ๐ญโ ), contraire ร ๐โ๐โ๐ฌโ() . Mรชme pour les entiers ( ๐ขโ๐งโ๐ญโ ), ๐ฆโ๐โ๐ญโ๐กโ.๐โ๐โ๐โ๐ฌโ() renvoie un nombre ร virgule flottante ( ๐โ๐ฅโ๐จโ๐โ๐ญโ ).
import math print(math.fabs(-100)) # 100.0 print(type(math.fabs(-100))) # <class 'float'> print(math.fabs(-1.23)) # 1.23 print(type(math.fabs(-1.23))) # <class 'float'>
๐ฆโ๐โ๐ญโ๐กโ.๐โ๐โ๐โ๐ฌโ() ne prend en charge que les nombres rรฉels et entraรฎnera une erreur pour un nombre complexe ( ๐โ๐จโ๐ฆโ๐ฉโ๐ฅโ๐โ๐ฑโ ).
# print(math.fabs(3 + 4j)) # TypeError: must be real number, not complex
รtant donnรฉ que ๐ฆโ๐โ๐ญโ๐กโ.๐โ๐โ๐โ๐ฌโ() n’appelle pas __๐โ๐โ๐ฌโ__() , dรฉfinissant un objet d’une classe avec __๐โ๐โ๐ฌโ__() entraรฎnera รฉgalement une erreur.
class MyClass: def __abs__(self): return 100 mc = MyClass() # math.fabs(mc) # TypeError: must be real number, not MyClass
