Python-Typkonvertierung & Casting meistern: Umfassender Leitfaden
Python-Typkonvertierung und Type Casting
In diesem Artikel lernen Sie die Typkonvertierung und die Verwendung von Typkonvertierung kennen.
Bevor Sie Typkonvertierung in Python lernen, sollten Sie Wissen über Python-Datentypen haben.
Typkonvertierung
Der Prozess, den Wert eines Datentyps (Ganzzahl, String, Float etc.) in einen anderen Datentyp umzuwandeln, heißt Typkonvertierung. Python hat zwei Arten der Typkonvertierung.
- Implizite Typkonvertierung
- Explizite Typkonvertierung
Implizite Typkonvertierung
Bei der impliziten Typkonvertierung wandelt Python automatisch einen Datentyp in einen anderen um. Dieser Prozess erfordert keine Benutzerbeteiligung.
Sehen wir ein Beispiel, wo Python die Konvertierung des niedrigeren Datentyps (Integer) in den höheren Datentyp (Float) fördert, um Datenverlust zu vermeiden.
Beispiel 1: Integer in Float konvertieren
num_int = 123
num_flo = 1.23
num_new = num_int + num_flo
print("datatype of num_int:", type(num_int))
print("datatype of num_flo:", type(num_flo))
print("Value of num_new:", num_new)
print("datatype of num_new:", type(num_new))
Bei Ausführung des obigen Programms lautet die Ausgabe:
datatype of num_int: <class 'int'> datatype of num_flo: <class 'float'> Value of num_new: 124.23 datatype of num_new: <class 'float'>
Im obigen Programm:
- Wir addieren zwei Variablen num_int und num_flo und speichern den Wert in num_new.
- Wir betrachten den Datentyp aller drei Objekte jeweils.
- In der Ausgabe sehen wir, der Datentyp von num_int ist
integer, während der Datentyp von num_flo einfloatist. - Außerdem sehen wir, dass num_new einen
float-Datentyp hat, da Python immer kleinere Datentypen in größere konvertiert, um Datenverlust zu vermeiden.
Versuchen wir nun, einen String und einen Integer zu addieren, und sehen, wie Python damit umgeht.
Beispiel 2: Addition von String (höher) und Integer (niedriger) Datentyp
num_int = 123
num_str = "456"
print("Data type of num_int:", type(num_int))
print("Data type of num_str:", type(num_str))
print(num_int + num_str)
Bei Ausführung des obigen Programms lautet die Ausgabe:
Data type of num_int: <class 'int'> Data type of num_str: <class 'str'> Traceback (most recent call last): File "python", line 7, in <module> TypeError: unsupported operand type(s) for +: 'int' and 'str'
Im obigen Programm:
- Wir addieren zwei Variablen num_int und num_str.
- Wie wir aus der Ausgabe sehen, erhalten wir
TypeError. Python kann in solchen Fällen keine implizite Konvertierung verwenden. - Python hat jedoch eine Lösung für diese Situationen, bekannt als Explizite Konvertierung.
Explizite Typkonvertierung
Bei der expliziten Typkonvertierung konvertiert der Benutzer den Datentyp eines Objekts in den gewünschten Datentyp. Wir verwenden vordefinierte Funktionen wie int(), float(), str() etc., um explizite Typkonvertierung durchzuführen.
Diese Art der Konvertierung wird auch Typecasting genannt, da der Benutzer den Datentyp der Objekte umwandelt (ändert).
Syntax:
<required_datatype>(expression)
Typecasting kann durchgeführt werden, indem die erforderliche Datentyp-Funktion dem Ausdruck zugewiesen wird.
Beispiel 3: Addition von String und Integer mittels expliziter Konvertierung
num_int = 123
num_str = "456"
print("Data type of num_int:", type(num_int))
print("Data type of num_str before Type Casting:", type(num_str))
num_str = int(num_str)
print("Data type of num_str after Type Casting:", type(num_str))
num_sum = num_int + num_str
print("Sum of num_int and num_str:", num_sum)
print("Data type of the sum:", type(num_sum))
Bei Ausführung des obigen Programms lautet die Ausgabe:
Data type of num_int: <class 'int'> Data type of num_str before Type Casting: <class 'str'> Data type of num_str after Type Casting: <class 'int'> Sum of num_int and num_str: 579 Data type of the sum: <class 'int'>
Im obigen Programm:
- Wir addieren num_str und num_int Variable.
- Wir konvertierten num_str von String (höher) zu Integer (niedriger) Typ mithilfe der
int()-Funktion, um die Addition durchzuführen. - Nach der Konvertierung von num_str in einen Integer-Wert kann Python diese beiden Variablen addieren.
- Wir erhielten den num_sum Wert und Datentyp als Integer.
Wichtige Punkte zum Merken
- Typkonvertierung ist die Umwandlung eines Objekts von einem Datentyp in einen anderen.
- Implizite Typkonvertierung wird automatisch vom Python-Interpreter durchgeführt.
- Python vermeidet Datenverlust bei impliziter Typkonvertierung.
- Explizite Typkonvertierung wird auch Type Casting genannt; die Datentypen von Objekten werden vom Benutzer mittels vordefinierter Funktionen konvertiert.
- Beim Type Casting kann Datenverlust auftreten, da wir das Objekt auf einen bestimmten Datentyp erzwingen.
Python
- C#-Typkonvertierung meistern: Implizit, Explizit, Parse und Convert-Methoden
- Python-Schlüsselwörter & Bezeichner: Reservierte Wörter & Benennungskonventionen meistern
- Python-Anweisungen, Einrückung & Kommentare: Klare Anleitung
- Python-Variablen, Konstanten & Literale – Umfassender Leitfaden
- Python-Datentypen meistern: Praxisleitfaden
- Python I/O & Modul-Importe meistern: Praxisleitfaden
- Python Global, Local & Nonlocal Variablen verstehen
- Zahlen, Typkonvertierung und Mathematik in Python meistern
- Verzeichnis- und Dateioperationen in Python meistern
- Python-Fehler & eingebaute Exceptions meistern