Перед вами краткое, но исчерпывающее руководство по поиску абсолютных значений в Python. Мы рассмотрим, что такое абсолютное значение числа и как его найти с помощью функции abs()
. Также мы разберем работу специального метода __abs__()
.
Что такое абсолютное значение?
В математике абсолютное значение числа – это само число без возможного отрицательного знака. Правильнее выразить это так: абсолютное значение – это удаленность числа от начала координат.
Абсолютное значение 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).
Если вы не знакомы с комплексными числами, можете пропустить этот раздел!
Подобно действительным числам, абсолютные значения комплексных чисел связаны с расстоянием от начала координат.
При работе с комплексными числами абсолютное значение – это расстояние от мнимого числа до начала координат в комплексной плоскости.
В 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)».