Skip to article frontmatterSkip to article content

3.2Grundlegende Mathematik in Python

Humboldt-Universität zu Berlin, Institut für Bibliotheks- und Informationswissenschaft

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 + 2
4

Ganzzahlen in Python können dabei beliebig groß sein.

2000000000000 + 2000000000000
4000000000000

Es können mehrere Operationen hintereinander gestellt werden.

987654321987654321987654321 + 123456789123456789123456789 + 1
1111111111111111111111111111

Dies ist äquivalent zu:

a = 987654321987654321987654321 + 123456789123456789123456789
a += 1
a
1111111111111111111111111111

Subtraktion

Ähnlich zur Addition funktioniert auch die Subtraktion.

987654321987654321987654321 - 123456789123456789123456789
864197532864197532864197532

Da 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_536
4294901760

Multiplikation

Die Multiplikation funktioniert analog:

3*3
9
# pi * r^2
3.14 * 3*3
28.259999999999998

Division / Ganzzahldivision / Modulo (Rest)

Bei der Division gibt es ein paar Dinge zu beachten. Grundsätzlich funktioniert Division, so, wie gedacht:

3/3
1.0
3/2
1.5

Wie 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/3
0.3333333333333333
0.1+0.2
0.30000000000000004

Neben der “normalen” Division gibt es noch die Ganzzahldivision, welche die Nachkommastellen “abschneidet” und eine Ganzzahl zurück gibt.

3//2
1
2//2
1
15//7
2

Wollen Sie wissen, was der Rest der Ganzzahldivision ist, so können Sie die Modulo-Operation nutzen.

5%3 
2
a = 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**3
8

Zahlenformate

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.0
f = 3.14
int(f)
3

Es 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')