EMZETT.
Login

Kurz: Python kennt drei Zahlentypen: int (ganze Zahlen), float (Kommazahlen) und complex (komplexe Zahlen). Zwischen Ganzzahlen und Kommazahlen wechselt Python beim Rechnen automatisch, wenn es nötig ist.

Teil des Kurses Python

Kapitel 6 von 44 im Kurs Python. Mit Fortschritt, Quiz und Zertifikat auf der Lernseite.

Python kennt drei Zahlentypen: int (ganze Zahlen), float (Kommazahlen) und complex (komplexe Zahlen). Zwischen Ganzzahlen und Kommazahlen wechselt Python beim Rechnen automatisch, wenn es nötig ist.

Ganzzahlen

Ein int kann beliebig groß werden, es gibt keinen Überlauf wie in vielen anderen Sprachen:

print(2 ** 10)
print(2 ** 100)
print(1_000_000 + 1)       # Unterstriche machen große Zahlen lesbar
print(0xFF, 0b1010, 0o17)  # hexadezimal, binär, oktal

Ausgabe:

1024
1267650600228229401496703205376
1000001
255 10 15

Kommazahlen

Das Dezimaltrennzeichen ist der Punkt. Mit e schreibst du Zehnerpotenzen:

print(3.14 * 2)
print(2.5e3)
print(1 / 3)

Ausgabe:

6.28
2500.0
0.3333333333333333

Achtung

float rechnet binär und ist deshalb manchmal minimal ungenau. Das ist keine Python-Eigenheit, sondern gilt in allen Sprachen:

print(0.1 + 0.2)
print(0.1 + 0.2 == 0.3)
print(round(0.1 + 0.2, 2) == 0.3)

Ausgabe:

0.30000000000000004
False
True

Für Geldbeträge und andere exakte Rechnungen gibt es das Modul decimal:

from decimal import Decimal
print(Decimal("0.1") + Decimal("0.2"))

Ausgabe:

0.3

Rechenarten

print(7 + 3)     # Addition
print(7 - 3)     # Subtraktion
print(7 * 3)     # Multiplikation
print(7 / 2)     # Division: immer ein float
print(7 // 2)    # ganzzahlige Division (abgerundet)
print(7 % 2)     # Rest (Modulo)
print(7 ** 2)    # Potenz
print(divmod(7, 2))

Ausgabe:

10
4
21
3.5
3
1
49
(3, 1)

Bei negativen Zahlen rundet // zur kleineren Zahl ab, und der Rest hat das Vorzeichen des Teilers:

print(-7 // 2)
print(-7 % 2)

Ausgabe:

-4
1

Eingebaute Funktionen

print(abs(-5))
print(round(3.14159, 2))
print(round(2.5), round(3.5))   # rundet zur nächsten geraden Zahl bei .5
print(min(4, 9, 2), max(4, 9, 2))
print(sum([1, 2, 3, 4]))
print(pow(2, 8))

Ausgabe:

5
3.14
2 4
2 9
10
256

Das Modul math

Für mehr Mathematik importierst du math:

import math
print(math.sqrt(16))
print(math.pi)
print(math.floor(2.7), math.ceil(2.1))
print(math.sin(math.pi / 2))
print(math.gcd(12, 18))

Ausgabe:

4.0
3.141592653589793
2 3
1.0
6

Zufallszahlen

import random
random.seed(1)             # macht das Ergebnis wiederholbar
print(random.randint(1, 6))
print(random.choice(["rot", "grün", "blau"]))
print(round(random.random(), 3))

Ausgabe:

2
blau
0.847

Ohne seed ist das Ergebnis bei jedem Start anders; ein Würfelwurf liefert also random.randint(1, 6).

Merke

  • / ergibt immer einen float, // rundet ab, % liefert den Rest, ** potenziert
  • int ist beliebig groß, float ist leicht ungenau (0.1 + 0.2)
  • Exakte Dezimalrechnung: decimal.Decimal
  • round(), abs(), min(), max(), sum() sind eingebaut
  • math bringt sqrt, pi, floor, ceil und mehr; random liefert Zufall

Übungsaufgabe

Berechne aus einem Bruttopreis von 119 Euro den Nettopreis bei 19 % Mehrwertsteuer und runde auf zwei Nachkommastellen.

Quiz zur Selbstkontrolle

Weiter im Kurs

Zurück: Datentypen im Überblick

Weiter: Operatoren

Alle Kapitel: Python im Überblick