In Python kannst Du Datentypen einfach konvertieren, um sie für unterschiedliche Aufgaben anzupassen. Dies wird als Typkonvertierung oder Typumwandlung bezeichnet.
Es gibt zwei Hauptarten der Typkonvertierung:
Implizite Typkonvertierung
Python führt automatische Typkonvertierungen durch, wenn es logisch ist. Zum Beispiel bei der Berechnung mit unterschiedlichen Datentypen.
Explizite Typkonvertierung
Du verwendest eingebauten Funktionen, um dem Python Interpreter ganz klar zu sagen was du willst:
int()
: Konvertiert einen Wert in einen Integer.float()
: Konvertiert einen Wert in einen Float.str()
: Konvertiert einen Wert in eine Zeichenkette (String).bool()
: Konvertiert einen Wert in einen Boolean.# Implizite Typkonvertierung:
x = 5 # int
y = 2.5 # float
Ergebnis = x + y
print(Ergebnis)
# Ausgabe: 7.5 [int + float --> float]
# Explizite Typkonvertierung:
a = "10"
b = float(a)
c = int(b)
print(c)
# Ausgabe: 10
x = "3.14"
y = float(x)
print(y)
# Ausgabe: 3.14
Nummer = 25
Text = str(Nummer)
print(Text)
# Ausgabe: "25"
Korrigiere den fehlerhaften Code zur Typkonvertierung.
# Korrigiere ___
a = "123"
b = __(a)+1
print(b)
# Ausgabe 124
Du solltest jetzt einen Eindruck davon haben, was explizite und implizite Typkonvertierung ist. Falls du noch Fragen hast, findest du die Antworten vielleicht in den folgenden Abschnitten.
Wenn du z. B. eine Zahl als String bekommst (z. B. aus input()
), kannst du sie mit int()
in eine ganze Zahl umwandeln. Außerdem kannst du aus einer Kommazahl einen ganze Zahl machen. Aber Achtung: Python rundet in diesem Fall nicht, sondern schneidet die Nachkommastellen einfach ab. Strings wie "abc" oder auch "42,5" kannst du mit int()
nicht umwandeln:
zahl = int("42")
print(zahl)
# Ausgabe: 42
zahl = int(3.99)
print(zahl)
# Ausgabe: 3
zahl = int("42,5")
# Fehler!
Mit der Funktion float()
kannst du Strings, aber auch ganze Zahlen zu Kommazahlen machen:
Grundpreis = float("19.99")
Aufschlag = float(5)
print(Grundpreis + Aufschlag)
# Ausgabe: 24.99
Wenn du eine Zahl oder einen Boolean als Text brauchst, verwendest du die Funktion str()
:
punkte = 95
print("Du hast " + str(punkte) + " Punkte erreicht.")
Mit bool()
kannst du fast alles in True
oder False
verwandeln. Die Faustregel:
False
True
Das hilft dir z. B. beim Prüfen, ob eine Eingabe leer ist.
print(bool([])) # False
print(bool(123)) # True
print(bool("")) # False
print(bool("Hallo")) # True