Python abs() funkcija: primjeri apsolutne vrijednosti

โšก Pametni saลพetak

Python abs() je ugraฤ‘ena funkcija koja vraฤ‡a apsolutnu vrijednost broja, odnosno njegovu udaljenost od nule bez predznaka. Prihvaฤ‡a cijele brojeve, brojeve s pomiฤnim zarezom i kompleksne brojeve, vraฤ‡ajuฤ‡i veliฤinu za kompleksne ulaze.

  • ๐Ÿ”ข Apsolutna vrijednost: abs() uklanja predznak broja i vraฤ‡a njegovu udaljenost od nule, pa tako i abs(-25) i abs(25) daju 25.
  • ๐Ÿงฎ Vrste brojeva: Jedan argument moลพe biti cijeli broj, broj s pomiฤnim zarezom ili kompleksan broj, a tip povrata odgovara ulazu.
  • ๐Ÿ”Ÿ Kompleksna magnituda: Za kompleksni broj kao ลกto je (3+10j), abs() vraฤ‡a njegovu veliฤinu, kvadratni korijen kvadrata realnog i imaginarnog dijela.
  • ๐Ÿ“‹ popisi: abs() obraฤ‘uje jedan broj odjednom, pa ga razum poput [abs(n) for n in nums] primjenjuje na svaki element.
  • โš–๏ธ abs() u odnosu na math.fabs(): Ugraฤ‘ena funkcija abs() zadrลพava tip ulaza i podrลพava kompleksne brojeve, dok math.fabs() uvijek vraฤ‡a broj s pomiฤnim zarezom i treba joj math modul.
  • ๐Ÿค– AI pomoฤ‡: Alati umjetne inteligencije poput GitHub Copilota generiraju pozive abs() i NumPy np.abs() za zadatke poput srednje apsolutne pogreลกke iz kratkog prompta.

Python abs() funkcija

Python trbuลกnjaci ()

Python trbuลกnjaci () je ugraฤ‘ena funkcija dostupna sa standardnom bibliotekom PythonVraฤ‡a apsolutnu vrijednost zadanog broja. Apsolutna vrijednost broja je vrijednost bez obzira na predznak. Broj moลพe biti cijeli broj, broj s pomiฤnim zarezom ili kompleksan broj. Ako je zadani broj kompleksan, tada ฤ‡e vratiti njegovu veliฤinu.

Sintaksa

Sintaksa funkcije abs() prikazana je u nastavku:

abs(value)

Parametri (vrijednost)

Ulazna vrijednost koju treba dati abs() da bi se dobila apsolutna vrijednost. To moลพe biti cijeli broj, float ili sloลพeni broj.

Povratna vrijednost:

Funkcija abs() vraฤ‡a apsolutnu vrijednost zadanog broja.

  • Ako je ulaz cijeli broj, povratna vrijednost ฤ‡e takoฤ‘er biti cijeli broj.
  • Ako je ulaz broj s pomiฤnim zarezom, povratna vrijednost ฤ‡e takoฤ‘er biti broj s pomiฤnim zarezom.
  • Ako je unos kompleksan broj, povratna vrijednost ฤ‡e biti veliฤina unosa.

Primjeri

Sljedeฤ‡i primjeri prikazuju funkciju abs() primijenjenu na cijele, brojeve s pomiฤnim zarezom i kompleksne vrijednosti.

Code Primjer 1: Cijeli i broj s pomiฤnim decimalom

Da biste dobili apsolutnu vrijednost cijelog broja i broja s pomiฤnim zarezom, provjerite ovaj kod:

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

Izlaz:

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

Primjer 2: Kompleksni broj

Za dobivanje apsolutne vrijednosti kompleksnog broja koristite ovaj kod:

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

Izlaz:

The magnitude of the complex number is: 10.44030650891055

Kako pronaฤ‡i apsolutnu vrijednost liste u Python

Funkcija abs() radi na jednom broju, pa prosljeฤ‘ivanje cijelog popisa izaziva greลกku TypeError. Da biste je primijenili na svaku stavku na popisu, upotrijebite razumijevanje popisa koje poziva abs() na svakom elementu:

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

Izlaz:

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

Razumijevanje zadrลพava izvorni redoslijed i vraฤ‡a novi popis pozitivnih vrijednosti. Isti rezultat moลพete postiฤ‡i ugraฤ‘enom funkcijom map(), na primjer list(map(abs, numbers)), koji primjenjuje abs() na svaki element bez pisanja eksplicitne petlje.

  • Koristite popisno razumijevanje kada ลพelite filtrirati ili transformirati vrijednosti.
  • Koristite map() za kratak, ฤitljiv poziv koji izravno primjenjuje abs().
  • Za velike numeriฤke skupove podataka, NumPy niz s np.abs() je brลพi od Python petlja.

Python abs() u odnosu na math.fabs()

Python nudi dva naฤina za dobivanje apsolutne vrijednosti: ugraฤ‘enu funkciju abs() i funkciju fabs() matematiฤkog modula. Izgledaju sliฤno, ali se ponaลกaju drugaฤije:

import math

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

Izlaz:

7
7.0

Kljuฤne razlike izmeฤ‘u dvije funkcije su:

  • Vrsta povrata: abs() zadrลพava tip ulaza i vraฤ‡a cijeli broj za cijeli broj, dok math.fabs() uvijek vraฤ‡a float.
  • Uvoz: abs() je uvijek dostupan, ali math.fabs() zahtijeva import math.
  • Kompleksni brojevi: abs() vraฤ‡a veliฤinu kompleksnog broja, dok math.fabs() podiลพe TypeError za kompleksni unos.

Praktiฤna primjena Python abs() funkcija

Buduฤ‡i da odbacuje informacije o predznaku, abs() je koristan kad god je vaลพna samo veliฤina vrijednosti, a ne i njezin smjer. Uobiฤajen primjer je pronalaลพenje razlike izmeฤ‘u dva oฤitanja:

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

Izlaz:

Temperature change: 17

Svakodnevna upotreba apsolutne vrijednosti ukljuฤuje:

  • Udaljenosti i razlike: mjerenje razmaka izmeฤ‘u dvije toฤke, temperature ili vremenske oznake bez obzira na to koja je vrijednost veฤ‡a.
  • Mjerni podaci o pogreลกkama: izraฤunavanje apsolutne pogreลกke izmeฤ‘u predviฤ‘ene i stvarne vrijednosti.
  • Provjere tolerancije: testiranje je li rezultat dovoljno blizu cilju, kao u abs(actual - expected) < 0.01.
  • Finance: izvjeลกtavanje o veliฤini dobitka ili gubitka bez predznaka.

Kao funkcija round()abs() je ugraฤ‘ena funkcija koju moลพete pozvati izravno bez uvoza bilo kojeg modula.

Pitanja i odgovori

Ne. abs() vraฤ‡a novu vrijednost i nikada ne mijenja svoj argument, jer brojevi u Python su nepromjenjivi. Da biste zadrลพali rezultat, dodijelite ga varijabli, na primjer pozitivno = abs(broj). Izvorna varijabla i dalje zadrลพava svoju predznaฤenu vrijednost.

Ne. Prosljeฤ‘ivanje niza uzrokuje greลกku TypeError: bad operand type for abs(): 'str', jer abs() prihvaฤ‡a samo cijele brojeve, brojeve s pomiฤnim zarezom ili kompleksne brojeve. Za mjerenje niza umjesto toga upotrijebite len(), koja vraฤ‡a koliko znakova sadrลพi.

Moลพete ga izraฤunati ruฤno. Za vrijednost x, max(x, -x) vraฤ‡a apsolutnu vrijednost, a (x ** 2) ** 0.5 takoฤ‘er radi za realne brojeve. Meฤ‘utim, ugraฤ‘ena funkcija abs() je jasnija, brลพa i takoฤ‘er obraฤ‘uje kompleksne brojeve.

Ne. Oznaka okomite crte |x| je matematiฤka, a ne Python sintaksa; u Python Simbol | je bitni ILI operator. Da biste dobili apsolutnu vrijednost, morate pozvati ugraฤ‘enu funkciju abs(), na primjer abs(-8), koja vraฤ‡a 8.

__abs__ je Dunder metoda koju abs() poziva iza kulisa. Kada napiลกete abs(obj), Python pokreฤ‡e obj.__abs__(). Definiranje __abs__ u vlastitoj klasi omoguฤ‡uje abs() rad na prilagoฤ‘enim objektima, kao ลกto su vektor ili tip novca.

Koristite vektorizirane verzije umjesto petlje. NumPy-jev np.abs(array) vraฤ‡a novi niz u kojem je svaki element pozitivan, a pandas Series izlaลพe Series.abs(). Oba primjenjuju apsolutnu vrijednost na sve elemente odjednom, ลกto je brลพe za velike skupove podataka.

abs() podupire metrike pogreลกke i udaljenosti. Srednja apsolutna pogreลกka (MAE) i L1 gubitak zbrajaju apsolutne razlike izmeฤ‘u predviฤ‘anja i ciljeva, a apsolutne vrijednosti mjere magnitude gradijenta. Za cijele nizove, NumPy np.abs() uฤinkovito primjenjuje istu operaciju na svaki element.

GitHub Copilot predlaลพe pozive abs(), popise s razumjevanjem poput [abs(n) za n u brojevima] i NumPy np.abs() linije izravno iz kratkog komentara. Takoฤ‘er moลพe izraditi funkciju apsolutne pogreลกke srednje vrijednosti, omoguฤ‡ujuฤ‡i vam da potvrdite logiku umjesto pisanja standardnog teksta.

Saลพmite ovu objavu uz: