Python abs() Funcție: Exemple de valori absolute

⚡ Rezumat inteligent

Python abs() este o funcție încorporată care returnează valoarea absolută a unui număr, adică distanța sa față de zero, fără semn. Acceptă numere întregi, numere cu virgulă mobilă și numere complexe, returnând magnitudinea pentru intrările complexe.

  • 🔢 Valoare absolută: abs() elimină semnul unui număr și returnează distanța sa față de zero, deci atât abs(-25), cât și abs(25) dau valoarea 25.
  • 🧮 Tipuri de numere: Argumentul singular poate fi un număr întreg, un număr cu virgulă mobilă sau un număr complex, iar tipul returnat se potrivește cu intrarea.
  • 🔟 Magnitudine complexă: Pentru un număr complex, cum ar fi (3+10j), abs() returnează magnitudinea sa, adică rădăcina pătrată a părților reale și imaginare ridicate la pătrat.
  • 📋 Liste: abs() gestionează câte un număr pe rând, așadar o înțelegere precum [abs(n) pentru n în nums] o aplică fiecărui element.
  • 🇧🇷 abs() vs. math.fabs(): Funcția abs() încorporată păstrează tipul de intrare și acceptă numere complexe, în timp ce math.fabs() returnează întotdeauna un număr cu număr în float și necesită modulul matematic.
  • 🤖 Asistență AI: Instrumentele de inteligență artificială precum GitHub Copilot generează apeluri abs() și NumPy np.abs() pentru sarcini precum eroarea absolută medie dintr-un prompt scurt.

Python abs() Funcția

Python abs()

Python abs() este o funcție încorporată disponibilă cu biblioteca standard de PythonReturnează valoarea absolută pentru numărul dat. Valoarea absolută a unui număr este valoarea fără a lua în considerare semnul său. Numărul poate fi un număr întreg, un număr cu virgulă mobilă sau un număr complex. Dacă numărul dat este complex, atunci va returna magnitudinea sa.

Sintaxă

Sintaxa funcției abs() este prezentată mai jos:

abs(value)

Parametri (valoare)

Valoarea de intrare care trebuie dată lui abs() pentru a obține valoarea absolută. Poate fi un număr întreg, un număr flotant sau un număr complex.

Valoare returnată:

Funcția abs() returnează valoarea absolută pentru numărul dat.

  • Dacă intrarea este un număr întreg, valoarea returnată va fi, de asemenea, un număr întreg.
  • Dacă intrarea este un număr cu float, valoarea returnată va fi, de asemenea, un număr cu float.
  • Dacă intrarea este un număr complex, valoarea returnată va fi mărimea intrării.

Exemple

Următoarele exemple prezintă funcția abs() aplicată valorilor întregi, cu număr mobil și complexe.

Code Exemplul 1: Număr întreg și număr cu număr mobil

Pentru a obține valoarea absolută a unui număr întreg și a unui număr cu virgulă mobilă, verificați acest cod:

# 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))

ieșire:

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

Exemplul 2: Număr complex

Pentru a obține valoarea absolută a unui număr complex, folosiți acest cod:

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

ieșire:

The magnitude of the complex number is: 10.44030650891055

Cum se găsește valoarea absolută a unei liste în Python

Funcția abs() funcționează pe un singur număr, așadar transmiterea unei liste întregi generează o eroare TypeError. Pentru a o aplica fiecărui element dintr-o listă, utilizați o înțelegere a listei care apelează abs() pe fiecare element:

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

ieșire:

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

Înțelegerea păstrează ordinea originală și returnează o nouă listă de valori pozitive. Puteți obține același rezultat cu funcția map() încorporată, de exemplu list(map(abs, numbers)), care aplică abs() fiecărui element fără a scrie o buclă explicită.

  • Folosește o listă de înțelegere atunci când vrei să filtrezi sau să transformi valorile.
  • Folosește map() pentru un apel scurt și ușor de citit care aplică direct abs().
  • Pentru seturi de date numerice mari, o matrice NumPy cu np.abs() este mai rapidă decât o Python buclă.

Python abs() vs. math.fabs()

Python oferă două modalități de a obține o valoare absolută: funcția abs() încorporată și funcția fabs() a modulului matematic. Acestea arată similar, dar se comportă diferit:

import math

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

ieșire:

7
7.0

Diferențele cheie dintre cele două funcții sunt:

  • Tip de returnare: abs() păstrează tipul de intrare și returnează un număr întreg pentru un număr întreg, în timp ce math.fabs() returnează întotdeauna un număr cu număr în float.
  • Import: abs() este întotdeauna disponibil, dar math.fabs() necesită import math.
  • Numere complexe: abs() returnează magnitudinea unui număr complex, în timp ce math.fabs() generează o eroare TypeError pentru intrări complexe.

Aplicații practice ale Python abs() Funcția

Deoarece elimină informațiile despre semn, abs() este utilă ori de câte ori contează doar dimensiunea unei valori și nu direcția acesteia. Un exemplu comun este găsirea diferenței dintre două citiri:

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

ieșire:

Temperature change: 17

Utilizările zilnice ale valorii absolute includ:

  • Distanțe și diferențe: măsurarea decalajului dintre două puncte, temperaturi sau marcaje de timp, indiferent de care valoare este mai mare.
  • Indicatori de eroare: calcularea erorii absolute dintre o valoare prezisă și o valoare reală.
  • Verificări ale toleranțelor: testarea faptului dacă un rezultat este suficient de aproape de o țintă, ca în abs(actual - expected) < 0.01.
  • Finante: raportarea mărimii unui câștig sau a unei pierderi fără semnul acesteia.

Ca funcția round()., abs() este o funcție încorporată pe care o puteți apela direct fără a importa niciun modul.

Întrebări frecvente

Nu. abs() returnează o valoare nouă și nu își modifică niciodată argumentul, deoarece numerele din Python sunt imuabile. Pentru a păstra rezultatul, atribuiți-l unei variabile, de exemplu pozitiv = abs(număr). Variabila originală își păstrează în continuare valoarea cu semn.

Nu. Transmiterea unui șir de caractere generează eroarea TypeError: tip de operand greșit pentru abs(): 'str', deoarece abs() acceptă doar numere întregi, numere cu număr de virgulă sau numere complexe. Pentru a măsura un șir de caractere, utilizați len(), care returnează numărul de caractere pe care îl conține.

Îl poți calcula manual. Pentru o valoare x, max(x, -x) returnează valoarea absolută, iar (x ** 2) ** 0.5 funcționează și pentru numere reale. Cu toate acestea, abs() încorporată este mai clară, mai rapidă și gestionează și numere complexe.

Nu. Notația cu bare verticale |x| este matematică, nu Python sintaxă; în Python Simbolul | este operatorul SAU la nivel de bit. Pentru a obține o valoare absolută, trebuie să apelați funcția abs() încorporată, de exemplu abs(-8), care returnează 8.

__abs__ este metoda dunder pe care abs() o apelează în culise. Când scrii abs(obj), Python execută obj.__abs__(). Definirea __abs__ în propria clasă permite abs() să lucreze asupra obiectelor personalizate, cum ar fi un vector sau un tip de monedă.

Folosește versiunile vectorizate în loc de o buclă. np.abs(array) din NumPy returnează un nou array cu fiecare element pozitiv, iar o serie pandas expune Series.abs(). Ambele aplică valoarea absolută pentru toate elementele simultan, ceea ce este mai rapid pentru seturi de date mari.

abs() stă la baza metricilor de eroare și distanță. Eroarea absolută medie (MAE) și pierderea L1 însumează diferențele absolute dintre predicții și ținte, iar valorile absolute măsoară magnitudinile gradienților. Pentru tablouri întregi, NumPy np.abs() aplică aceeași operație eficient pe fiecare element.

GitHub Copilot sugerează apeluri abs(), înțelegeri de liste precum [abs(n) for n in nums] și linii NumPy np.abs() direct dintr-un comentariu scurt. De asemenea, poate crea o funcție de eroare medie absolută, permițându-vă să confirmați logica în loc să scrieți un șablon standard.

Rezumați această postare cu: