Umwandlung von Datentypen

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:

  1. Implizite Typkonvertierung: Python konvertiert Datentypen automatisch, wenn dies erforderlich ist.
  2. Explizite Typkonvertierung: Du konvertierst Datentypen explizit mithilfe von eingebauten Funktionen.

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"

Aufgabe:

Korrigiere den fehlerhaften Code zur Typkonvertierung.

# Korrigiere ___

a = "123"
b = __(a)+1
print(b)

# Ausgabe 124

 

Gib deine Lösung ein:

Falls du Hilfe benötigst:

Hast du die Klammern gesetzt? Verwende bitte keine Leerzeichen.

int

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. 

String oder Float zu Integer machen

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!

Ganzzahlen oder Strings zu Kommazahlen machen

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

Alles zu Text machen

Wenn du eine Zahl oder einen Boolean als Text brauchst, verwendest du die Funktion str():

punkte = 95
print("Du hast " + str(punkte) + " Punkte erreicht.")

Wahr oder falsch aus allem machen

Mit bool() kannst du fast alles in True oder False verwandeln. Die Faustregel:

  • Leere Dinge (0, '', [], None) werden False
  • Alles andere wird 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

Teilen: