Python Функція abs(): Приклади абсолютного значення

⚡ Розумний підсумок

Python abs() — це вбудована функція, яка повертає абсолютне значення числа, тобто його відстань від нуля без знака. Вона приймає цілі числа, числа з плаваючою комою та комплексні числа, повертаючи величину для комплексних вхідних даних.

  • 🔢 Абсолютне значення: abs() видаляє знак числа та повертає його відстань від нуля, тому abs(-25) та abs(25) обидві дають 25.
  • 🧮 Типи чисел: Єдиним аргументом може бути ціле число, число з плаваючою комою або комплексне число, а тип повернення відповідає вхідному значенню.
  • 🔟 Комплексна величина: Для комплексного числа, такого як (3+10j), abs() повертає його величину, квадратний корінь з квадрата дійсної та уявної частин.
  • 📋 Списки: abs() обробляє одне число за раз, тому таке розуміння, як [abs(n) for n in nums], застосовує його до кожного елемента.
  • 🇧🇷 abs() проти math.fabs(): Вбудована функція abs() зберігає тип вхідних даних та підтримує комплексні числа, тоді як math.fabs() завжди повертає число з плаваючою комою та потребує модуля math.
  • 🤖 Допомога AI: Інструменти штучного інтелекту, такі як GitHub Copilot, генерують виклики abs() та NumPy np.abs() для таких завдань, як середня абсолютна похибка, з короткого запиту.

Python Функція abs().

Python abs ()

Python abs () є вбудованою функцією, доступною зі стандартною бібліотекою Python. Повертає абсолютне значення заданого числа. Абсолютне значення числа – це значення без урахування його знака. Число може бути цілим числом, числом з плаваючою комою або комплексним числом. Якщо задане число комплексне, то повертається його величина.

синтаксис

Синтаксис функції abs() показано нижче:

abs(value)

Параметри (значення)

Вхідне значення, яке буде надано функції abs(), щоб отримати абсолютне значення. Це може бути ціле число, число з плаваючою точкою або комплексне число.

Повернення:

Функція abs() повертає абсолютне значення заданого числа.

  • Якщо вхідне значення є цілим числом, повернене значення також буде цілим числом.
  • Якщо вхідне значення є числом з плаваючою комою, повернене значення також буде числом з плаваючою комою.
  • Якщо вхідні дані є комплексним числом, поверненим значенням буде величина вхідних даних.

прикладів

У наступних прикладах показано застосування функції abs() до цілих, чисел з плаваючою комою та комплексних значень.

Code Приклад 1: Ціле число та число з комою

Щоб отримати абсолютне значення цілого числа та числа з плаваючою комою, перевірте цей код:

# testing abs() for an integer and float
  int_num = -25
  float_num = -10.50
  print("The absolute value of an integer number is:", abs(int_num))
  print("The absolute value of a float number is:", abs(float_num))

вихід:

The absolute value of an integer number is: 25
The absolute value of a float number is: 10.5

Приклад 2: Комплексне число

Щоб отримати абсолютне значення комплексного числа, використовуйте цей код:

# testing abs() for a complex number
complex_num = (3+10j)
print("The magnitude of the complex number is:", abs(complex_num))

вихід:

The magnitude of the complex number is: 10.44030650891055

Як знайти абсолютне значення списку в Python

Функція abs() працює з одним числом, тому передача їй цілого списку викликає помилку TypeError. Щоб застосувати її до кожного елемента списку, використовуйте списочне сприйняття, яке викликає abs() для кожного елемента:

numbers = [12, 30, -33, -22, 77, -100]
abs_numbers = [abs(num) for num in numbers]
print(abs_numbers)

вихід:

[12, 30, 33, 22, 77, 100]

Процес зберігає початковий порядок і повертає новий список додатних значень. Ви можете досягти того ж результату за допомогою вбудованої функції map(), наприклад list(map(abs, numbers)), який застосовує abs() до кожного елемента без написання явного циклу.

  • Використовуйте список, коли вам також потрібно фільтрувати або трансформувати значення.
  • Використовуйте map() для короткого, читабельного виклику, який безпосередньо застосовує abs().
  • Для великих числових наборів даних масив NumPy з np.abs() швидший, ніж Python петлі.

Python abs() проти math.fabs()

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

import math

print(abs(-7))          # 7 (int is unchanged)
print(math.fabs(-7))    # 7.0 (float result)

вихід:

7
7.0

Ключові відмінності між цими двома функціями полягають у наступному:

  • Тип повернення: abs() зберігає тип вхідних даних і повертає ціле число для цілого числа, тоді як math.fabs() завжди повертає число з плаваючою комою.
  • Імпорт: abs() завжди доступна, але math.fabs() вимагає import math.
  • Комплексні числа: abs() повертає величину комплексного числа, тоді як math.fabs() викликає TypeError для комплексного введення.

Практичне застосування Python Функція abs().

Оскільки функція abs() відкидає інформацію про знак, вона корисна, коли має значення лише розмір значення, а не його напрямок. Типовим прикладом є знаходження різниці між двома показниками:

temp_morning = 12
temp_night = -5
print("Temperature change:", abs(temp_morning - temp_night))

вихід:

Temperature change: 17

Повсякденне використання абсолютного значення включає:

  • Відстані та різниці: вимірювання розриву між двома точками, температурами або часовими мітками незалежно від того, яке значення більше.
  • Метрики помилок: обчислення абсолютної похибки між прогнозованим значенням та фактичним значенням.
  • Перевірка допусків: перевірка того, чи результат достатньо близький до цільового показника, як у abs(actual - expected) < 0.01.
  • Фінанси: повідомлення про розмір прибутку або збитку без його знака.

Як і функція round(), abs() — це вбудована функція, яку можна викликати безпосередньо, без імпорту будь-якого модуля.

Поширені запитання

Ні. abs() повертає нове значення та ніколи не змінює свій аргумент, оскільки числа в Python незмінні. Щоб зберегти результат, призначте його змінній, наприклад, positive = abs(число). Початкова змінна все ще зберігає своє знакове значення.

Ні. Передача рядка викликає помилку TypeError: bad operand type for abs(): 'str', оскільки abs() приймає лише цілі числа, числа з комою або комплексні числа. Щоб виміряти рядок, використовуйте len(), яка повертає кількість символів, що в ньому містяться.

Ви можете обчислити це вручну. Для значення x, max(x, -x) повертає абсолютне значення, а (x ** 2) ** 0.5 також працює для дійсних чисел. Однак вбудована функція abs() є зрозумілішою, швидшою та також обробляє комплексні числа.

Ні. Позначення вертикальною рискою |x| є математичним, а не Python синтаксис; у Python Символ | — це побітовий оператор АБО. Щоб отримати абсолютне значення, потрібно викликати вбудовану функцію abs(), наприклад abs(-8), яка повертає 8.

__abs__ — це метод dunder, який abs() викликає позаду. Коли ви пишете abs(obj), Python виконує obj.__abs__(). Визначення __abs__ у вашому власному класі дозволяє abs() працювати з користувацькими об'єктами, такими як вектор або тип грошей.

Використовуйте векторизовані версії замість циклу. NumPy's np.abs(array) повертає новий масив, кожен елемент якого зроблено додатним, а pandas Series надає доступ до Series.abs(). Обидва застосовують абсолютне значення до всіх елементів одночасно, що швидше для великих наборів даних.

abs() лежить в основі метрик помилок та відстані. Середня абсолютна помилка (MAE) та втрати L1 підсумовують абсолютні різниці між прогнозами та цілями, а абсолютні значення вимірюють величини градієнтів. Для цілих масивів NumPy np.abs() ефективно застосовує ту саму операцію до кожного елемента.

GitHub Copilot пропонує виклики abs(), списки виразів, такі як [abs(n) for n in nums], та рядки NumPy np.abs() безпосередньо з короткого коментаря. Він також може створювати каркас функції абсолютної помилки середнього значення, що дозволяє вам перевіряти логіку замість написання шаблонного коду.

Підсумуйте цей пост за допомогою: