Абсолютное значение числа в Python

Перевод статьи «Python Absolute Value: A Quick Tutorial».

При анализе данных часто требуется быстро найти абсолютное значение набора чисел. Для выполнения этой задачи Python предлагает простую встроенную функцию — abs(). Эта функция позволяет программистам получить величину числа, не зависящую от его знака, по сути делая число положительным.

Что такое «абсолютное значение»?

Функция абсолютного значения в Python возвращает положительное расстояние между данным числом и нулем на числовой прямой. Для положительных вещественных чисел абсолютная величина остается неизменной. Для отрицательных вещественных чисел она становится положительным.

Числовая прямая от -4 до 4. Расстояния от нуля до -4 и до 4 одинаковые. Поэтому абсолютное значение этих чисел тоже одинаковое.

Эту концепцию легко понять на примере целых или плавающих чисел, но при работе с комплексными числами она становится немного сложнее.

Для комплексных чисел абсолютное значение вычисляется с помощью теоремы Пифагора. Посмотрите это видео о комплексных числах, чтобы получить более полное объяснение.

Проще говоря, если взять абсолютное значение комплексного числа в формате a+bi, то результат будет вычислен с помощью следующего уравнения: √ a2+b2.

Основная мысль: функция абсолютного значения в Python возвращает величину числа, независимо от его знака или комплексности.

Как использовать функцию abs() в Python

Чтобы использовать функцию абсолютного значения, просто передайте ей число в качестве аргумента. Вот простой пример:

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

# Вывод:
# The absolute value of -10 is: 10

Альтернатива функции abs() — math.fabs()

В Python есть и альтернативный способ нахождения абсолютного значения числа: с помощью метода fabs() из модуля math. Этот метод разработан для обеспечения большей точности при работе с числами с плавающей точкой, хотя он может принимать и целые числа в качестве входных данных. Но с комплексными числами этот метод не работает.

Синтаксис для math.fabs() такой же, как и для abs(), за исключением того, что перед его использованием необходимо импортировать модуль math.

Основная мысль: чтобы использовать функцию abs(), просто укажите число в качестве аргумента, и она вернет его абсолютное значение. Для большей точности при работе с числами с плавающей точкой используйте функцию math.fabs().

Применение абсолютных значений на практике

Существует множество ситуаций, когда отрицательное число не имеет смысла или может вызвать проблемы. В других случаях исследователя данных может интересовать величина эффекта, но не его направленность. В таких ситуациях часто полезно использовать функцию abs().

Вычисление расстояния. Абсолютное значение используется, когда имеет значение только величина, например, при определении расстояния между двумя точками на координатной плоскости.

Сравнение. Иногда требуется сравнить величины, не теряя информации о знаке. Например, однажды у меня был датчик давления, который давал мне значения положительного и отрицательного давления в пространстве. В некоторых случаях эта информация о направленности была полезна, но иногда мне нужно было просто сравнить величину двух разных событий давления. Я использовала версию приведенного ниже кода, чтобы сделать такое сравнение без изменения исходных значений.

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

Обработка ошибок. Абсолютное значение удобно в сценариях обработки ошибок, когда отрицательные значения могут привести к неожиданному поведению. Использование абсолютного значения гарантирует, что будут учитываться только положительные значения.

Общие проблемы

Нечисловые типы

Одна из распространенных ошибок при использовании функции abs() в Python — применение ее к нечисловым типам. Убедитесь, что вводимые данные отформатированы как число, а не как строка или что-то другое.

Потеря информации

Еще одна распространенная ошибка — потеря важной информации о знаке. Рассмотрим пример с давлением. Если бы я вслепую взяла абсолютное значение, я бы потеряла важную информацию о направленности. Используя функцию abs() только там, где это необходимо, и не изменяя исходное значение, я сохранила эту информацию для дальнейшего использования. Об этом также важно помнить, делая выводы.

Неожиданные комплексные числа

Ошибки могут возникнуть и в том случае, если во входные данные попадает неожиданное комплексное число. Поскольку абсолютное значение комплексного числа определяется иначе, неожиданное комплексное число во входных данных может привести к странному поведению вашего кода в дальнейшем. Или, если вы используете math.fabs(), неожиданное комплексное число может привести к ошибке.

Заключение

Функция abs() в Python — это универсальный инструмент для получения величины числа, независимо от его знака. Программисты должны понимать, как и когда использовать эту функцию и какие есть альтернативные варианты.

Прокрутить вверх