Castings in Python bestimmen einen Datentypen.
int(Wert)
float(Wert)
str(Wert)
Nein es handelt sich nicht um DSDS Castings. Mit Casting in Python ist das Formen von neuen Datentypen gemeint. Das läuft mit Funktionen ab. Die häufigsten Funktionen für das Casting sind
- int( ) – Werte innerhalb der Klammern werden in ganze Zahlen (Integer) umgewandelt.
- float( ) – Werte innerhalb der Klammern werden in Dezimalzahlen (Float) umgewandelt.
- str( ) – Werte innerhalb der Klammern werden in Texte (Strings) umgewandelt.
Werte in Integer umwandeln
Die Funktion int( ) wandelt jegliche Datentypen in Integer-Werte, also ganze Zahlen, um. Ist der Wert vorher schon ein Integer, verändert sich nichts – es erscheint auch keine Fehlermeldung.
print( int(1) ) #Integer-Wert
#Ausgabe: 1
Werden Floats, also Dezimalzahlen, in Integer umgewandelt, wird immer abgerundet. Es bleibt immer nur die Zahl vor dem Komma vorhanden.
print( int(1.99) ) #Float-Wert
#Ausgabe: 1
Interessant werden Strings. Sollte ein String nur eine Zahl enthalten, kann man auch Strings in Integer umwandeln.
print( int("1") ) #String-Wert
#Ausgabe: 1
Umwandlungen von Strings in Integer kann man erweitern. Mit dem umgewandelten Text kann man jetzt auch rechnen:
print( int("1") + 1 )
#Ausgabe: 2
Werte in Float umwandeln
Die Funktion float( ) wandelt jegliche Datentypen in Float-Werte, also Dezimalzahlen, um. Ist der Wert vorher schon ein Float, verändert sich nichts – es erscheint auch keine Fehlermeldung.
print( float(1.99) ) #Float-Wert
#Ausgabe: 1.99
Wenn Integer in Floats umgewandelt werden, hängen wir eine Kommastelle an den Integerwert an:
print( float(1) ) #Integer-Wert
#Ausgabe: 1.0
Selbes gilt für Strings, die in Floats umgewandelt werden.
print( float("1") ) #String-Wert
#Ausgabe: 1.0
Werte in Strings umwandeln
Die Funktion str( ) wandelt jegliche Datentypen in String-Werte, also Texte, um. Ist der Wert vorher schon ein String, verändert sich nichts – es erscheint auch keine Fehlermeldung.
print( str("42") ) #String-Wert
#Ausgabe: 42
Wenn Floats in Strings umgewandelt werden, ist die Ausgabe identisch. Nur der Datentyp ändert sich im Hintergrund.
print( str(42.0) ) #Integer-Wert
#Ausgabe: 42.0
Wenn Integer in Strings umgewandelt werden, ist die Ausgabe identisch. Nur der Datentyp ändert sich im Hintergrund. Die Umwandlung von Strings ist aber innerhalb eines Print-Befehls sinnvoll. Möchte man in einem Satz ausgeben, dass Max Mustermann x Jahre alt ist, kann man folgenden Code verwenden:
x = 25
print("Max Mustermann ist " + x + " Jahre alt")
### FEHLERMELDUNG
x = 25
print("Max Mustermann ist " + str(x) + " Jahre alt")
#Ausgabe: Max Mustermann ist 25 Jahre alt
Wir erhalten eine Fehlermeldung, weil die Werte innerhalb eines Print-Befehls denselben Datentypen haben müssen. Im ersten Befehl haben wir im Print-Befehl aber STRING + INTEGER + STRING.
Beim zweiten wandeln wir den Integer in einen String um: STRING + STRING(Integer) + STRING. Damit haben wir eine Kette von 3 Strings und wir können das Ergebnis problemlos ausgeben.