Python abs()-Funktion: Beispiele für absolute Werte

⚡ Intelligente Zusammenfassung

Python Die Funktion `abs()` ist eine eingebaute Funktion, die den Absolutbetrag einer Zahl zurückgibt, also ihren Abstand von Null ohne Vorzeichen. Sie akzeptiert ganze Zahlen, Gleitkommazahlen und komplexe Zahlen und gibt bei komplexen Eingaben den Betrag zurück.

  • 🔢 Absoluter Wert: abs() entfernt das Vorzeichen einer Zahl und gibt ihren Abstand von Null zurück, daher ergeben abs(-25) und abs(25) beide 25.
  • 🧮 Zahlentypen: Das einzelne Argument kann eine ganze Zahl, eine Gleitkommazahl oder eine komplexe Zahl sein, und der Rückgabetyp entspricht der Eingabe.
  • 🔟 Komplexe Größe: Bei einer komplexen Zahl wie (3+10j) gibt abs() ihren Betrag zurück, die Quadratwurzel aus dem Quadrat des Real- und Imaginärteils.
  • 📋 Listen: abs() verarbeitet jeweils nur eine Zahl, daher wendet eine Comprehension wie [abs(n) for n in nums] sie auf jedes Element an.
  • abs() vs math.fabs(): Die eingebaute Funktion abs() behält den Eingabetyp bei und unterstützt komplexe Zahlen, während math.fabs() immer einen Gleitkommawert zurückgibt und das Modul math benötigt.
  • 🤖 KI-Unterstützung: KI-Tools wie GitHub Copilot generieren abs()- und NumPy np.abs()-Aufrufe für Aufgaben wie den mittleren absoluten Fehler aus einer kurzen Eingabeaufforderung.

Python abs() Funktion

Python abs ()

Python abs () ist eine integrierte Funktion, die in der Standardbibliothek verfügbar ist. PythonDie Funktion gibt den Absolutbetrag der angegebenen Zahl zurück. Der Absolutbetrag einer Zahl ist ihr Wert ohne Berücksichtigung des Vorzeichens. Die Zahl kann eine ganze Zahl, eine Gleitkommazahl oder eine komplexe Zahl sein. Ist die angegebene Zahl komplex, wird ihr Betrag zurückgegeben.

Syntax

Die Syntax der abs()-Funktion ist unten dargestellt:

abs(value)

Parameter (Wert)

Der Eingabewert, der an abs() übergeben werden muss, um den absoluten Wert zu erhalten. Dies kann eine Ganzzahl, eine Gleitkommazahl oder eine komplexe Zahl sein.

Rückgabewert:

Die Funktion abs() gibt den Absolutwert der gegebenen Zahl zurück.

  • Wenn die Eingabe eine ganze Zahl ist, ist auch der Rückgabewert eine ganze Zahl.
  • Wenn die Eingabe eine Gleitkommazahl ist, ist auch der Rückgabewert eine Gleitkommazahl.
  • Wenn die Eingabe eine komplexe Zahl ist, entspricht der Rückgabewert der Größe der Eingabe.

Beispiele

Die folgenden Beispiele zeigen die Anwendung der abs()-Funktion auf ganzzahlige, Gleitkomma- und komplexe Werte.

Code Beispiel 1: Ganzzahl und Gleitkommazahl

Um den Absolutwert einer ganzen Zahl und einer Gleitkommazahl zu erhalten, verwenden Sie folgenden Code:

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

Ausgang:

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

Beispiel 2: Komplexe Zahl

Um den Absolutbetrag einer komplexen Zahl zu erhalten, verwenden Sie diesen Code:

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

Ausgang:

The magnitude of the complex number is: 10.44030650891055

Wie man den Absolutwert einer Liste findet Python

Die Funktion `abs()` arbeitet mit einer einzelnen Zahl. Die Übergabe einer ganzen Liste führt daher zu einem `TypeError`. Um sie auf jedes Element einer Liste anzuwenden, verwenden Sie eine List Comprehension, die `abs()` für jedes Element aufruft.

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

Ausgang:

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

Die List Comprehension behält die ursprüngliche Reihenfolge bei und gibt eine neue Liste positiver Werte zurück. Dasselbe Ergebnis lässt sich beispielsweise mit der eingebauten Funktion map() erzielen. list(map(abs, numbers)), wodurch abs() auf jedes Element angewendet wird, ohne eine explizite Schleife zu schreiben.

  • Verwenden Sie eine List Comprehension, wenn Sie die Werte zusätzlich filtern oder transformieren möchten.
  • Verwenden Sie map() für einen kurzen, lesbaren Aufruf, der abs() direkt anwendet.
  • Bei großen numerischen Datensätzen ist ein NumPy-Array mit np.abs() schneller als ein Python Schleife.

Python abs() vs math.fabs()

Python Es gibt zwei Möglichkeiten, einen Absolutwert zu erhalten: die eingebaute Funktion abs() und die Funktion fabs() des Mathematikmoduls. Sie sehen ähnlich aus, verhalten sich aber unterschiedlich:

import math

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

Ausgang:

7
7.0

Die wichtigsten Unterschiede zwischen den beiden Funktionen sind:

  • Rückgabetyp: abs() erhält den Eingabetyp und gibt für eine ganze Zahl eine ganze Zahl zurück, während math.fabs() immer eine Gleitkommazahl zurückgibt.
  • Einführen: abs() ist immer verfügbar, aber math.fabs() benötigt import math.
  • Komplexe Zahlen: abs() gibt den Betrag einer komplexen Zahl zurück, während math.fabs() bei komplexen Eingaben einen TypeError auslöst.

Praktische Anwendungen der Python abs() Funktion

Da die Funktion abs() die Vorzeicheninformation ignoriert, ist sie immer dann nützlich, wenn nur die Größe eines Wertes, nicht aber seine Richtung relevant ist. Ein häufiges Beispiel ist die Berechnung der Differenz zwischen zwei Messwerten:

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

Ausgang:

Temperature change: 17

Zu den alltäglichen Anwendungsgebieten des Absolutwerts gehören:

  • Entfernungen und Unterschiede: Die Differenz zwischen zwei Punkten, Temperaturen oder Zeitstempeln wird gemessen, unabhängig davon, welcher Wert größer ist.
  • Fehlermetriken: Berechnung des absoluten Fehlers zwischen einem vorhergesagten Wert und einem tatsächlichen Wert.
  • Toleranzprüfungen: Testen, ob ein Ergebnis nahe genug an einem Zielwert liegt, wie zum Beispiel abs(actual - expected) < 0.01.
  • Finanzen: Angabe der Höhe eines Gewinns oder Verlusts ohne Angabe des Vorzeichens.

Wie die round() Funktionabs() ist eine integrierte Funktion, die Sie direkt aufrufen können, ohne ein Modul importieren zu müssen.

Häufig gestellte Fragen

Nein. abs() gibt einen neuen Wert zurück und verändert niemals sein Argument, da Zahlen in Python sind unveränderlich. Um das Ergebnis zu speichern, weisen Sie es einer Variablen zu, zum Beispiel positive = abs(Zahl). Die ursprüngliche Variable behält ihren vorzeichenbehafteten Wert.

Nein. Die Übergabe eines Strings führt zu einem TypeError: Ungültiger Operandentyp für abs(): 'str', da abs() nur ganze Zahlen, Gleitkommazahlen oder komplexe Zahlen akzeptiert. Verwenden Sie stattdessen len(), um die Länge eines Strings zu messen. Diese Funktion gibt die Anzahl der enthaltenen Zeichen zurück.

Sie können es manuell berechnen. Für einen Wert x liefert max(x, -x) den Absolutbetrag, und (x ** 2) ** 0.5 funktioniert auch für reelle Zahlen. Die eingebaute Funktion abs() ist jedoch übersichtlicher, schneller und verarbeitet auch komplexe Zahlen.

Nein. Die senkrechte Strichnotation |x| ist mathematisch, nicht Python Syntax; in Python Das Symbol | ist der bitweise ODER-Operator. Um einen Absolutwert zu erhalten, müssen Sie die eingebaute Funktion abs() aufrufen, beispielsweise abs(-8), die 8 zurückgibt.

__abs__ ist die Dunder-Methode, die von abs() im Hintergrund aufgerufen wird. Wenn Sie abs(obj) schreiben, Python ruft obj.__abs__() auf. Durch die Definition von __abs__ in einer eigenen Klasse kann abs() auch auf benutzerdefinierte Objekte wie Vektoren oder Währungstypen angewendet werden.

Verwenden Sie die vektorisierten Versionen anstelle einer Schleife. NumPys `np.abs(array)` gibt ein neues Array zurück, in dem alle Elemente positiv sind, und Pandas bietet die Methode `Series.abs()` für Series. Beide wenden den Absolutwert auf alle Elemente gleichzeitig an, was bei großen Datensätzen schneller ist.

Die Funktion `abs()` bildet die Grundlage für Fehler- und Distanzmetriken. Der mittlere absolute Fehler (MAE) und der L1-Verlust summieren die absoluten Differenzen zwischen Vorhersagen und Zielwerten, wobei die Absolutwerte die Gradientenstärke messen. Bei ganzen Arrays wendet `np.abs()` von NumPy dieselbe Operation effizient auf jedes Element an.

GitHub Copilot schlägt abs()-Aufrufe, List Comprehensions wie [abs(n) for n in nums] und NumPy np.abs()-Zeilen direkt aus einem kurzen Kommentar vor. Es kann auch eine Funktion für den mittleren absoluten Fehler generieren, sodass Sie die Logik überprüfen können, anstatt Boilerplate-Code zu schreiben.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: