3.2Grundlegende Mathematik in Python
Python beinhaltet standardmäßig Operatoren für alle grundlegenden Berechnungen, die Sie normalerweise im Laufe eines Programmes durchführen wollen.
Arithmetische Operationen¶
In den nachfolgenden Unterabschnitten lernen Sie die Python Operatoren für grundlegende Arithmetik kennen.
Addition¶
Die Addition in Python nutzt wie zu erwarten das Zeichen +.
2 + 24Ganzzahlen in Python können dabei beliebig groß sein.
2000000000000 + 20000000000004000000000000Es können mehrere Operationen hintereinander gestellt werden.
987654321987654321987654321 + 123456789123456789123456789 + 11111111111111111111111111111Dies ist äquivalent zu:
a = 987654321987654321987654321 + 123456789123456789123456789
a += 1
a1111111111111111111111111111Subtraktion¶
Ähnlich zur Addition funktioniert auch die Subtraktion.
987654321987654321987654321 - 123456789123456789123456789864197532864197532864197532Da so große Zahlen schnell unübersichtlich werden erlaubt Python die Nutzung
von _ in einer Zahl. Dieses Zeichen wird bei der Verarbeitung einfach
ignoriert.
4_294_967_296 - 65_5364294901760Multiplikation¶
Die Multiplikation funktioniert analog:
3*39# pi * r^2
3.14 * 3*328.259999999999998Division / Ganzzahldivision / Modulo (Rest)¶
Bei der Division gibt es ein paar Dinge zu beachten. Grundsätzlich funktioniert Division, so, wie gedacht:
3/31.03/21.5Wie Sie sehen, erhalten Sie als Ergebnis einer “normalen” Division immer eine Komma-Zahl.
Diese ist nach dem IEE754-Standard definiert. Daher stehen einerseits nur eine gewisse Anzahl an Nachkommastellen zur Verfügung und andererseits sind manche Zahlen gar nicht direkt darstellbar sind.
1/30.33333333333333330.1+0.20.30000000000000004Neben der “normalen” Division gibt es noch die Ganzzahldivision, welche die Nachkommastellen “abschneidet” und eine Ganzzahl zurück gibt.
3//212//2115//72Wollen Sie wissen, was der Rest der Ganzzahldivision ist, so können Sie die Modulo-Operation nutzen.
5%3 2a = 17
b = 5
print(f"{a} geteilt durch {b} ist {a//b} mit Rest {a%b}.")
print("Also ist (", a//b, "*", b, ") +", a%b, "=", a, ".")17 geteilt durch 5 ist 3 mit Rest 2.
Also ist ( 3 * 5 ) + 2 = 17 .
Potenzieren¶
Python bietet einen Operator für das Potenzieren einer Zahl.
2**38Zahlenformate¶
Wie oben angesprochen gibt es zwei Datentypen für Zahlenformate. Es gibt
Ganzzahlen (Integer, int()) und Gleitkommazahlen (Float, Floating Point,
float()). Sie können vom einen Datentyp in den anderen transformieren.
(Das wird auch oft als “type casting” bezeichnet.)
i = 15
float(i)15.0f = 3.14
int(f)3Es gibt auch andere Zahlenformate, wie complex(), sowie bspw.
numbers.Rational(), fractions.Fraction() und decimals.Decimal(). Diese
werden in bei Bedarf eingeführt. In der Benutzung sind diese Zahlen nicht so
einfach zu nutzen, wie am nächsten Beispiel zu sehen ist. (Das Ergebnis des
Beispiels ist hier nicht relevant.)
from decimal import Decimal
Decimal(-7) % Decimal(4)Decimal('-3')