Модуль абс в питоне

abs(x)

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

Параметры ¶

Функция abs() принимает один аргумент: num — число, абсолютное значение которого должно быть возвращено.

Возвращаемое значение ¶

Метод abs() возвращает абсолютное значение заданного числа.

  • Для целых чисел — возвращается целочисленное абсолютное значение
  • Для чисел с плавающей запятой — возвращается абсолютное значение с плавающей запятой
  • Для комплексных чисел — возвращается величина числа

Примеры ¶

number = -10
absolute = abs(number)
print(absolute)
# Результат: 10

Получить абсолютное значение числа

# случайное целое число
integer = -40
print('Абсолютное значение -40:', abs(integer))
#случайное число с плавающей запятой
floating = -56.21
print('Абсолютное значение -56.21:', abs(floating))
# Результат:
# Модуль числа -40: 40
# Модуль числа -56.21: 56.21

Получить модуль комплексного числа

 
# случайное комплексное число
complex_ = (3 - 4j)
print('Абсолютное значение 3 - 4j:', abs(complex_))
# Результат:
# Абсолютное значение 3 - 4j is: 5.0

Источник

Модуль числа в Python — функции abs() и math.fabs()

Запускаю китайскую реплику «ТАРДИС», и вот мы в пятом классе. На доске нарисована числовая ось, а на ней выделен отрезок. Его начало в точке 4, а конец — в 8. Учительница говорит, что длину отрезка можно найти путём вычитания координаты начала отрезка из координаты его конца. Вычитаем, получаем 4, и радуемся — мы нашли длину. Ура! 🎉

Перемещаемся на год вперёд, и там происходит странное: учительница выделяет мелом другой отрезок, но делает это в каком-то неправильном месте — левее точки с цифрой «0». Теперь перед нами старая задача, но с новыми числами и даже буквами: A, B, минус 4 и минус 8. Мы начинаем искать длину отрезка AB = [-4;-8]:

Читайте также:  Html пропустить несколько строк

Переводим непонимающий взгляд с получившейся отрицательной длины на довольную улыбающуюся учительницу, а затем на доску. Там наверху, рядом с сегодняшней датой, написана тема урока: «Модуль числа».

Что такое модуль числа

Для вещественных чисел модуль определяется так:

Т.е. в любом случае, модуль — число большее или равное 0. Поэтому отрицательная длина в примере хитрой учительницы должна была быть взята по модулю:

Тогда дети бы увидели, что геометрический смысл модуля — есть расстояние. Это справедливо и для комплексных чисел, однако формальное определение для них отличается от вещественного:

, где z — комплексное число: z = x + i y.

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

Abs

В то время как math.fabs() может оперировать только вещественными аргументами, abs() отлично справляется и с комплексными. Для начала покажем, что abs в python работает строго в соответствии с математическим определением.

# для вещественных чисел print(abs(-1)) print(abs(0)) print(abs(1)) > 1 > 0 > 1

Как видно, с вещественными числами всё в порядке. Перейдём к комплексным.

# для комплексных чисел print(complex(-3, 4)) print(abs(complex(-3, 4))) > (-3+4j) > 5.0

Если вспомнить, что комплексное число выглядит так: z = x + i y, а его модуль вычисляется по формуле:

, то можно без труда посчитать, что sqrt(3**2 + 4**2) действительно равно 5.0 .

Можно заметить, что abs() возвращает значения разных типов. Это зависит от типа аргумента:

print(type(abs(1))) > print(type(abs(1.0))) > print(type(abs(complex(1.0, 1.0))))

В этом кроется ещё одно отличие abs() от fabs() . Функция из модуля math всегда приводит аргумент к вещественному типу, а если это невозможно сделать — выбрасывает ошибку:

print(type(math.fabs(complex(2,3)))) > TypeError: can’t convert complex to float

Fabs

Для начала работы с fabs() необходимо импортировать модуль math с помощью следующей инструкции:

Мы уже выяснили, что fabs() не работает с комплексными числами, поэтому проверим работу функции на вещественных:

print(math.fabs(-10)) print(math.fabs(0)) print(math.fabs(10)) > 10.0 > 0.0 > 10.0

Функция производит вычисления в соответствие с математическим определением, однако, в отличие от abs() , всегда возвращает результат типа float :

Основные свойства модулей

# Квадрат модуля = квадрату числа print(pow(4, 2) == pow(abs(4), 2)) > True # |x| = |-x| print(abs(-10) == abs(10)) > True # Модуль произведения = произведению модулей: |ab|=|a||b| print(math.fabs(11 * 3) == math.fabs(11) * math.fabs(3)) > True # Аналогично для деления: |a/b|=|a|/|b| print(math.fabs(48/8) == math.fabs(48) / math.fabs(8)) > True # |a ** b| = |a| ** b print(abs(2 ** 10) == abs(2) ** 10) > True

И еще несколько важных неравенств:

Источник

Оцените статью