Was ist abs in Python?

4 Antworten

Es ist der Absolute Wert einer Zahl.

In der Mathematik ist das äquivalent zum Betrag (Betragsstriche): Man nutzt den Betrag in vielen verschiedenen Bereichen. Es kommt aber immer auf deine persönlichen Projekte an. Zum Beispiel, wenn du von hinten nach vorn ein Array durch iterieren möchtest und direkt danach von vorn nach hinten, ohne das erste Element zu wiederholen, könntest du:

arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
for i in range(-9, 9):
  print(arr[abs(i)])

Das ist jetzt kein sinnvolles Programm o.Ä. und man könnte es genau so mit 2 for-Schleifen lösen oder noch irgendwie anders. Ich bin kein Python-Entwickler (habe ein einziges Programm für persönlichen Nutzen in Python geschrieben).

Grundsätzlich nutzt man abs() oft in mathematischen Gleichungen und z.B. kann man vieles vereinfachen.

Ein anderes Beispiel wäre, wenn du nur das Vorzeichen haben möchtest und damit weiterrechnen möchtest:

x = -4361 # Beispielsweise
vorzeichen = x/abs(x)

Natürlich kannst du auch genau so gut das verwenden:

x = -43592 # Beispielsweise
if x < 0:
  vorzeichen = -1
else:
  vorzeichen = 1

Mach, was du willst damit. Man verwendet abs() nicht häufig. Es gibt sooo viele Funktionen in verschiedensten Libraries, 99% davon wird man nie brauchen, aber es ist schön, wenn man die wichtigsten kennt, damit man sie potentiell irgendwann mal verwenden kann. Fast jede Programmiersprache hat die abs Funktion in einer ihrer Libraries.

Woher ich das weiß:Hobby – Bin Hobbyprogrammierer und studiere Informatik

Die Funktion

abs()

in Python gibt den absoluten Wert einer Zahl zurück. Sie wird verwendet, um sicherzustellen, dass der Wert immer positiv ist, unabhängig von seinem Vorzeichen. Beispiel:

abs(-5)

gibt

5

zurück.


Hamed245 
Beitragsersteller
 28.01.2024, 01:32

und für was benutze ich das also für was ist das jetzt wichtig ein beispiel wäre cool, danke

Erzesel  28.01.2024, 10:44
@Hamed245

Nehmen wir an, di hast eine Liste von Messungen (alle Positv):

5 , 18 , 6, 7 ,11 , 15 ,0  ....

Nun sollst du den Unterscheid zwischen zwei aufeinanderfolgenden Messungen ermittel.

...und aus vom jeweiligen unterschied die Qutratwurzel ziehen. (zb um die Hub zu berechnen mit der ein Ventil öffnen muss)

Im Kopf simple...

Immer die von der jeweils größeren Zahl die Kleinere abziehen und aus dem Ergebnis die Wurzel ziehen

5, 18 : 18-5 = 13 : also also Wurzel aus 13 = 3,60555127546399
18,6 : 18-6= 12  : also Wurzel aus 12 = 3,46410161513775
...usw

Dabei fällt fällt uns nicht mal auf das wir ziemlich oft einen negativen Wert hätten, wenn wir nicht unbewusst das Minus entfernen würden... 

Und eine Wurzel aus einer negativen Zahl gibt es nicht

...aber im Kopf gehts... 😆

Weil wir das für 10000 berechnen sollen wäre das im Kopf ziemlich mühsam....

Das erledigt der Computer viel schneller...

Ich bin kein Pythonfan, also stricke ich das "praktische" Beispiel mal mit heißer Nadel in Powershell (hat schließlich jeder auf seinem Win-Rechner)

demo.ps1

$MesswertList= @(5,18,6,7,11,15,0)
for ($i=0 ;$i -lt ($MesswertList.Length -1); ++$i) {
  $DieserWert=$MesswertList[$i]
  $NaechsterWert=$MesswertList[$i+1]
  $Unterschied= $DieserWert - $NaechsterWert

   #meistens Mist wegen Wurzel aus Minus... aber guck selbst...
  $Ventilhub=[math]::Sqrt($Unterschied)
  Write-Host "klappt wohl nicht immer: Ventilhub=$Ventilhub" -ForeGroundColor Red
   
   #das Vorzeichen ist wohl schädlich und wir brauchen es auchnicht!
   #also werg damit... und  das ganze noch mal
  $OhneVorzeichen=[math]::Abs($Unterschied)
  $Ventilhub=[math]::Sqrt($OhneVorzeichen)
  Write-Host "...aber Dass      : Ventilhub=$Ventilhub" -ForeGroundColor green
}

...klar ist das Ding an den Haaren herbeigezogen, man könnte auch vor her prüfen welche kleiner oder größer ist, und entsprechend verzweigen ...blah und Blubb ...oder ....

Fakt ist, das Abs() einfach nur das Vorzeichen entfernt. Das erspart einfach nur eine Menge Fingergeklappper auf der Tastatur.

Einem Mathematiker würden sicher Millionen sinnvolle Nutzungen einfallen... aber ich hab nun mal mehr mit irgentwelchen Ventilen und Steuerspannungen gearbeitet und deren Software programmiert.

Kurz gesagt: es macht das Minus weg, falls eins da ist. Braucht man manchmal, um den Unterschied zwischen zwei Zahlen zu berechnen.


jo135  28.01.2024, 07:40

Gemeldet wegen Geheimnisverrat!! ;-)