Python lernen

Arithmetische Operatoren

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Arithmetische Operatoren benutzen einen oder zwei Zahlenoperanden und liefern als Ergebnis eine neue Zahl als Wert. In dem Video wird auch der String-Verkettungsoperator erläutert.
06:25

Transkript

In jeder Programmiersprache gibt es bestimmte Zeichen, die sehr stark an dem orientiert ist, was man aus der Schulmathematik kennt. Operationen müssen durchgeführt werden die im Wesentlichen dem entsprechen, was man mit Rechnen bezeichnet. Es geht um die sogenannten arithmetischen Operatoren und die meisten davon, dürften bekannt sein. Es sollte keine Überraschung sein, was in der Programmierung 1 *1 ist oder 1 + 1 oder 5 1. Das hier sind drei arithmetische Operatoren und das hier ist auch ein Operator, der bekannt sein sollte, das die ist Division. Es gibt noch weitere und es hat seinen Grund, dass ich hier Lücken im Quellcode habe, weil ich möchte auf Besonderheiten hinweisen. Was ist 1 *1? Naja 1+1, haha 5 1 dürfte auch klar aber sein, was ist 4 geteilt durch 2 und vor allem was ist 5 geteilt durch 2? 4 geteilt durch 2 ja könnte man vermuten, dass es 2 ist. Es wird so auch sein, aber was ist 5 geteilt durch 2? 2,5 wird ganz naiv jetzt wahrscheinlich vermutet, aber Leute die bereits Erfahrung mit streng typisierte Sprachen haben, die werden sagen: "Nein, nein, nein! Das muss 2 sein!" Weil hier werden zwei Datentypen miteinander verknüpft, die beide ganzzahlig sind dann muss das und Ergebnis auch ganzzahlig sein und das kann dann eben nur die 2 sein, der Nachkommateil wird abgeschnitten. Und Leute, die vielleicht so aus dem kaufmännischen Bereich kommen, denken:" Naja 2,5 kaufmännisch runden, könnte ja 3 sein." Und andere könnten vielleicht vermuten, es nicht erlaubt. Das ist wirklich spannend zu sehen, wie verhält sich hier Python bei dieser doch scheinbar so trivialen Operation. Und dann haben wir noch weitere Zeichen. Dieses Prozentzeichen, das ist ein sogenanntes Modulo und Modulo heißt Restwertberechnung und Restwertberechnung bei ganzen Zahlen ist relativ einfach erklärt. Ich habe hier zwei Variablen. Die eine enthält den Wert 17 und die andere den Wert 2, das können Sie hier oben sehen. Modulo heißt, man nimmt den rechten Wert, also die 2, guckt wie oft geht die rein, in die 17 und vergisst das und nimmt als Ergebnis, das was übrigbleibt. Nun die 2 geht, wenn man 16 nimmt, 8-mal da rein, die 16 lässt weg, man also bleibt 1 übrig. Aber was passiert, wenn wir Modulo mit Gleitkommazahlen anwenden? Sie sehen, die zweite Variable ist jetzt 0,3. Geht es denn überhaupt und hier haben wir noch mal Moduloberechnung eine mit Gleitkommatypen, muss man sich Gedanken machen. Das Ergebnis werde ich Ihnen zeigen, gleich dann gucken wir uns an, was es wirklich für Effekte gibt. Dieses Zeichen hier, ist das Zeichen für Potenz. Auch hier mit ganzen Zahlen und was passiert bei Gleitkommazahlen? Vielleicht kommen sie auf die Wurzel und solche Geschichten, Schulmathematik. Das Pluszeichen ist nicht nur, die arithmetische Addition, das kann auch die String-Verkettung sein. Aber was passiert beispielsweise, wenn wir eine ganze Zahl mit einer Gleitkommazahl kombinieren? Sowohl einer Variable als auch bei einem Literal? Was ist die Addition von booleschen Werten und ist die Addition von einem "int"-Wert und was einem booleschen Wert? Ich zeige Ihnen Ergebnis das und anhand das Ergebnis werden Sie einige interessante Effekte wahrscheinlich sehen. Ich das jetzt schiebe mal so daneben, dass Sie einigermaßen die Zuordnung machen können. Also 1*1 eins ist eins, ich denke das ist trivial. 1+1 ist 2, 5 1 ist 4, aber bereits 4 geteilt durch 2 gibt im Ergebnis einen Gleitkommatyp "float". Das heißt, in dem Moment, wo Sie die Division auch von ganzen Zahlen in Python durchführen, kriegen Sie als Ergebnis einen Gleitkommatyp und damit ist 5 geteilt durch 2 auch offensichtlich 2,5. Beachten Sie der Punkt wird hier genommen zum Abtrennen des Nachkommateils. Das Modulo 17, Modulo 2-,1-Ergebnis ist auch klar, aber Sie sehen an der Folge, ist auch offensichtlich mit Gleitkommatypen Modulo möglich. Wenn Sie aber mal genau hinschauen, wir brauchen das gar nicht durchrechnen. Sie sehen, dass hier offensichtlich sehr, sehr lange Nachkommastellen entstehen und die entstehen aufgrund von Rundungsproblematiken, das sind Rundungsfehler. Diese 0,3 geht in die 17 mit einem Rest 0,2 rein, aber Sie haben hier eben Rundungsprobleme. Wir brauchen bloß festhalten, dass man bei Gleitkommaarithmetik extrem vorsichtig sein muss und so Geschichten wie Modulo mit Gleitkommazahlen, sollten Sie auf keinen Fall machen. Potenzrechnung auch mit Gleitkomma möglich, das wird eben dann die Wurzel sein und zwar entsprechend der ganz normalen Schulmathematik. a + b, Stringverkettung, hier haben wir die Verknüpfung von einem ganzzahligen Typ oder Gleitkommatyp, das gibt im Ergebnis ein Gleitkommatyp. "False" wird in Python arithmetisch als 0 und "True" 1 gewertet als und deswegen ist beispielsweise "a" 17 der + Wert „True" 1 auch 18. Doch ich möchte noch einmal ganz kurz auf diese Situation, diese spezielle Situation hier zurückkommen, dass ich bei der Division von zwei ganzen Zahlen einen Gleitkommatyp bekomme. Es gibt Fälle, wo man möglicherweise genau das nicht haben möchte und dafür gibt es noch einen weiteren Operator, einen arithmetischen Operator in Python und der sieht so aus und heißt für die das Division in dieser Form kann man nämlich dann tatsächlich erreichen, dass der Zieldatentyp wieder ein ganzzahliger Typ, ein "int" ist und dann haben wir besagte Situation, das 5 geteilt durch 2 auch durchaus 2 ergeben kann. Man nennt das hier, die ganze Ganzzahldivision. Sie sehen also Python unterstützt die klassischen, arithmetischen Operatoren, die meisten Sprachen so die haben, mit einigen kleinen Besonderheiten und Gleitkommaarithmetik ist eine Schlangengrube in die Sie nicht hineingehen sollten.

Python lernen

Lernen Sie Syntax, Konzepte und Sprachelemente der praktischen Programmiersprache Schritt für Schritt kennen.

3 Std. 41 min (64 Videos)
Derzeit sind keine Feedbacks vorhanden...
Software:
Exklusiv für Abo-Kunden
Erscheinungsdatum:08.06.2018

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!