Python Glossary English

все Python 3mathпонятие

math.fabs

абсолютное

Возвращает абсолютное значение числа как float. В отличие от abs(), всегда возвращает float, а не int.

Синтаксис

math.fabs(x)

В обычном коде почти всегда нужен abs(): он сохраняет тип (int, Decimal, Fraction) и умеет комплексные числа, а fabs() приводит всё к float и на комплексном падает с TypeError. Отсюда и потеря точности: у большого целого fabs() оставит только 53 бита мантиссы, а на очень большом — вообще выбросит OverflowError. Брать fabs() имеет смысл там, где результат всё равно нужен как float, например при сравнении с допуском.

Примеры

import math
print(math.fabs(-5.0))  # → 5.0
print(math.fabs(3.14))  # → 3.14
print(math.fabs(-0.0))  # → 0.0
print(type(math.fabs(-3)))  # → <class 'float'> (abs(-3) вернул бы int)
print(math.fabs(-1e100))  # → 1e+100
print(math.fabs(0))  # → 0.0

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности