Python - Typumwandlung

Hallo dort, zukünftige Python-Zauberer! Heute werden wir auf eine aufregende Reise in die Welt der Typumwandlung in Python einsteigen. Keine Sorge, wenn du diesen Begriff noch nie gehört hast – am Ende dieses Tutorials wirst du wie ein Profi Typen umwandeln können!

Python - Type Casting

Was ist Typumwandlung?

Bevor wir einsteigen, beginnen wir mit einer einfachen Analogie. Stell dir vor, du hast eine Schachtel mit Lego-Steinen. Einige sind rund, einige quadratisch und einige sogar sternförmig. Typumwandlung ist wie der Einsatz einer magischen Zauberstab, um eine Form in eine andere zu verwandeln. In Python machen wir das Gleiche, aber mit Datenarten anstatt Lego-Formen!

Python-Implicit Casting

Python ist ein kluger Keks. Manchmal wandelt es automatisch eine Datenart in eine andere um, ohne dass du es nawet fragst. Dies nennt man implizite Umwandlung.

Sehen wir uns ein Beispiel an:

x = 5    # Dies ist eine ganze Zahl
y = 2.0  # Dies ist eine Fließkommazahl
z = x + y

print(z)
print(type(z))

Wenn du diesen Code ausführst, siehst du:

7.0
<class 'float'>

Wow! Python hat unsere ganze Zahl x automatisch in eine Fließkommazahl umgewandelt, als wir sie zu y addierten. Es ist, als hätte Python seinen Denkhut aufgesetzt und gesagt: "Hmm, ich kann keine ganze Zahl und eine Fließkommazahl direkt addieren, also werde ich die ganze Zahl zuerst in eine Fließkommazahl umwandeln!"

Python-Expliziter Casting

Jetzt, was wenn wir der Chef sein wollen und Python genau sagen, welche Art wir möchten? Da kommt expliziter Casting ins Spiel. Es ist wie der bewusste Einsatz unseres magischen Stabes, um unsere Daten zu transformieren.

Python bietet mehrere eingebaute Funktionen für diesen Zweck. Sehen wir uns die häufigsten an:

Python int() Funktion

Die int()-Funktion wandelt einen Wert in eine ganze Zahl um. Sehen wir uns das an:

a = int(3.14)
b = int("42")
c = int(True)

print(a, type(a))
print(b, type(b))
print(c, type(c))

Ausgabe:

3 <class 'int'>
42 <class 'int'>
1 <class 'int'>

Wie du siehst, kann int() Fließkommazahlen, Zeichenketten (wenn sie eine gültige ganze Zahl darstellen) und sogar Booleans in ganze Zahlen umwandeln. Es ist wie ein Shape-Shifter, aber für Zahlen!

Python float() Funktion

Die float()-Funktion ist unser erster Ansprechpartner, um Werte in Fließkommazahlen umzuwandeln:

x = float(5)
y = float("3.14")
z = float("inf")

print(x, type(x))
print(y, type(y))
print(z, type(z))

Ausgabe:

5.0 <class 'float'>
3.14 <class 'float'>
inf <class 'float'>

Schau dir das an! Wir haben eine ganze Zahl, eine Zeichenkette und sogar das Konzept von Unendlichkeit in Fließkommazahlen verwandelt. Es ist wie das Verwandeln von festen Lego-Steinen in Wasser – sie können jetzt fließen und haben Dezimalpunkte!

Python str() Funktion

Nicht zuletzt haben wir die str()-Funktion. Diese Funktion ist wie ein Geschichtenerzähler – sie kann fast alles in eine Zeichenkette verwandeln:

a = str(42)
b = str(3.14)
c = str(True)
d = str([1, 2, 3])

print(a, type(a))
print(b, type(b))
print(c, type(c))
print(d, type(d))

Ausgabe:

42 <class 'str'>
3.14 <class 'str'>
True <class 'str'>
[1, 2, 3] <class 'str'>

Verblüffend! Wir haben Zahlen, Booleans und sogar eine Liste in Zeichenketten verwandelt. Es ist, als wäre die str()-Funktion ein Meistermaler, der ein Bild von dem, was wir ihr geben, malt!

Umwandlung von Sequenztypen

Jetzt reden wir über die Umwandlung zwischen verschiedenen Sequenztypen. Python hat mehrere eingebaute Sequenztypen wie Listen, Tupel und Mengen. Wir können zwischen diesen Typen umwandeln, indem wir ihre entsprechenden Funktionen verwenden:

# Umwandlung einer Liste in ein Tupel
meine_liste = [1, 2, 3, 4, 5]
mein_tupel = tuple(meine_liste)
print(mein_tupel, type(mein_tupel))

# Umwandlung eines Tupels in eine Menge
meine_menge = set(mein_tupel)
print(meine_menge, type(meine_menge))

# Umwandlung einer Menge zurück in eine Liste
zurück_zu_liste = list(meine_menge)
print(zurück_zu_liste, type(zurück_zu_liste))

Ausgabe:

(1, 2, 3, 4, 5) <class 'tuple'>
{1, 2, 3, 4, 5} <class 'set'>
[1, 2, 3, 4, 5] <class 'list'>

Es ist, als spielen wir Schachmatt mit unseren Daten, indem wir sie von einem Typ zum anderen bewegen!

Funktionen zur Datentypumwandlung

Hier ist eine Zusammenfassung aller Typumwandlungsfunktionen, die wir gelernt haben, in einer praktischen Tabelle:

Funktion Beschreibung Beispiel
int() Wandelt in ganze Zahl um int("42") → 42
float() Wandelt in Fließkommazahl um float("3.14") → 3.14
str() Wandelt in Zeichenkette um str(42) → "42"
bool() Wandelt in Boolean um bool(1) → True
list() Wandelt in Liste um list((1, 2, 3)) → [1, 2, 3]
tuple() Wandelt in Tupel um tuple([1, 2, 3]) → (1, 2, 3)
set() Wandelt in Menge um set([1, 2, 2, 3]) → {1, 2, 3}

Denke daran, diese Funktionen sind wie dein Schweizer Army Knife in Python – sie sind unglaublich vielseitig und können dir in vielen kniffligen Situationen helfen!

Und so haben wir es, Freunde! Wir haben durch die Welt der Python-Typumwandlung gereist, von impliziten Konversionen zu expliziten Transformationen. Wir haben gesehen, wie Python automatisch Typen für uns ändern kann und wie wir selbst die Kontrolle übernehmen und Typen ändern können.

Denke daran, Typumwandlung ist ein leistungsstarkes Werkzeug in deinem Python-Werkzeugkasten. Es ermöglicht dir, deine Daten so zu formen, dass sie deinen Bedürfnissen entsprechen, genau wie ein Bildhauer Ton in eine schöne Statue verformt. Mit Übung wirst du in kürze wie ein Profi Typen umwandeln können!

Also mach dich auf, junge Pythonistas, und cast away! Und immer daran denken – in der Welt von Python hat jeder Typ seinen Platz, aber mit der Kraft der Casting ist kein Typ in Stein gemeißelt. Happy coding!

Credits: Image by storyset