Как найти абсолютное значение числа в Python

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

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

В математике абсолютное значение числа – это само число без возможного отрицательного знака. Правильнее выразить это так: абсолютное значение – это удаленность числа от начала координат.

Абсолютное значение числа -2 на горизонтальной оси графика
Абсолютное значение -2 это 2, потому что это два шага от 0

Абсолютное значение X обозначается через |X|, при этом:

  • |X| = X, если X – положительное число.
  • |X| = -X, если X – отрицательное число.

Например:

  • абсолютное значение 5 равно 5, потому что |5| = 5
  • абсолютное значение -10 равно 10, потому что |-10| = -(-10) = 10

Как найти абсолютное значение числа в Python?

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

abs(number)

Функция возвращает абсолютное значение number.

abs() можно использовать как с действительными, так и с мнимыми числами.

1. Абсолютное значение действительного числа

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

print(abs(-3.1415))

# Результат:
# 3.1415

В качестве другого примера вызовем функцию abs() для целого числа:

print(abs(-3))

# Результат:
# 3

Пример задачи

“Дан список чисел. Выведите абсолютные значения всех чисел этого списка”.

Решение:

Чтобы вывести список абсолютных значений чисел, используем цикл for:

nums = [1, -5, 2, -10, -6, -100, -3, 12]

for number in nums:
    print(abs(number))

Результат:

1
5
2
10
6
100
3
12

2. Абсолютное значение комплексного числа

Абсолютные значения традиционно называются неотрицательными аналогами чисел.

Однако абсолютные значения имеют смысл и в других математических системах. Самый распространенный пример – абсолютное значение мнимого числа (система счисления, в которой действителен квадратный корень из -1).

Если вы не знакомы с комплексными числами, можете пропустить этот раздел!

Подобно действительным числам, абсолютные значения комплексных чисел связаны с расстоянием от начала координат.

Абсолютное значение числа z на графике

При работе с комплексными числами абсолютное значение – это расстояние от мнимого числа до начала координат в комплексной плоскости.

В Python мнимые числа обозначаются через j, который является квадратным корнем из -1.

Пример

Давайте вычислим абсолютное значение 1 - j в пространстве мнимых чисел:

print(abs(1 - 1j))

# Результат:
# 1.4142135623730951

Этот результат вычисляется с помощью теоремы Пифагора, где a = -1 и b = 1.

График, визуализирующий применение теоремы Пифагора

Метод __abs__() в Python

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

print(abs(-10))
print((-10).__abs__())

# Результат:
# 10
# 10

Полученный результат говорит нам о том, что у типа int где-то в коде реализации есть метод __abs__(). И это действительно так.

Что еще более важно, этот тип специального метода можно добавить и в ваши пользовательские классы. Другими словами, вы можете указать, что происходит при вызове функции abs() для пользовательского объекта, реализовав метод __abs__() в определении класса.

Пример

class numstr:
    def __init__(self, value):
        self.value = value
    
    def __abs__(self):
        absolute = self.value.replace("minus", "")
        return absolute

Давайте протестируем класс, задав несколько положительных и отрицательных чисел в виде строк и взяв их абсолютные значения:

v1 = numstr("minus three")
v2 = numstr("ten")
v3 = numstr("minus five")

print(abs(v1))
print(abs(v2))
print(abs(v3))

Результат:

three
ten
five

Метод abs() удаляет “минус” из начала строк!

Это просто демонстрация работы специального метода __abs__(). Как видите, вы можете настроить то, что происходит при вызове abs() на объекте.

Итоги

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

В Python можно вычислять абсолютное значение как для действительных, так и для мнимых чисел.

Спасибо за внимание!

Перевод статьи Artturi Jalli «Python Absolute Value ‘abs()’ — A Complete Guide (with Examples)».

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *