Python type conversion and type casting
Table of Contents
In diesem Artikel erfahren Sie etwas über die Typkonvertierung und die Verwendung der Typkonvertierung.
Bevor Sie Typkonvertierung in Python lernen, sollten Sie Kenntnisse über Python-Datentypen haben.
Typ Konvertierung
Der Prozess der Konvertierung des Wertes eines Datentyps (Integer, String, Float usw.) in einen anderen Datentyp wird als Typkonvertierung bezeichnet. In Python gibt es zwei Arten der Typkonvertierung.
- Implizite Typkonvertierung
- Explizite Typkonvertierung
Implizite Typkonvertierung
Bei der impliziten Typkonvertierung konvertiert Python automatisch einen Datentyp in einen anderen Datentyp. Dieser Prozess benötigt keine Beteiligung des Benutzers.
Sehen wir uns ein Beispiel an, bei dem Python die Konvertierung des niedrigeren Datentyps (Integer) in den höheren Datentyp (Float) fördert, um Datenverlust zu vermeiden.
Beispiel 1: Umwandlung von Integer in Float
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))
Wenn wir das obige Programm ausführen, wird die Ausgabe sein:
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 fügen zwei Variablen hinzu num_int und num_flo, Speichern des Wertes in num_new.
- Wir werden uns jeweils den Datentyp aller drei Objekte ansehen.
- In der Ausgabe sehen wir den Datentyp von num_int ist ein
integer
während der Datentyp von num_flo ist einefloat
. - Außerdem können wir die num_new hat eine
float
Datentyp, da Python kleinere datentypen immer in größere Datentypen konvertiert, um den Verlust von Daten zu vermeiden.
Versuchen wir nun, eine Zeichenkette und eine ganze Zahl zu addieren, und sehen wir, wie Python damit umgeht.
Beispiel 2: Addition von String(höherer) Datentyp 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)
Wenn wir das obige Programm ausführen, wird die Ausgabe sein:
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 fügen zwei Variablen hinzu num_int und num_str.
- Wie wir in der Ausgabe sehen können, haben wir
TypeError
. Python ist unter solchen Bedingungen nicht in der Lage, die implizite Konvertierung zu verwenden. - Python hat jedoch eine Lösung für diese Art von Situationen, die als explizite Konvertierung bekannt ist.
Explicit Type Conversion
Bei der expliziten Typkonvertierung konvertiert der Anwender den Datentyp eines Objekts in den gewünschten Datentyp. Wir verwenden die vordefinierten Funktionen wie int()
, float()
, str()
, usw., um eine explizite Typkonvertierung durchzuführen.
Diese Art der Konvertierung wird auch als Typecasting bezeichnet, da der Anwender den Datentyp der Objekte castet (ändert).
Syntax :
<required_datatype>(expression)
Das Typecasting kann durchgeführt werden, indem dem Ausdruck die gewünschte Datentypfunktion zugewiesen wird.
Beispiel 3: Addition von String und Integer mit 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))
Wenn wir das obige Programm ausführen, wird die Ausgabe sein:
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 fügen hinzu num_str und num_int variable.
- Wir konvertierten num_str vom Typ String(höher) zu Integer(niedriger) mit
int()
Funktion, um die Addition durchzuführen. - Nach der Konvertierung num_str zu einem Integer-Wert, kann Python diese beiden Variablen addieren.
- Wir haben die num_sum Wert und Datentyp eine ganze Zahl sein.
Wichtige Punkte zur Erinnerung
- Unter Typkonvertierung versteht man die Umwandlung eines Objekts von einem Datentyp in einen anderen Datentyp.
- Die implizite Typumwandlung wird automatisch vom Python-Interpreter durchgeführt.
- Python vermeidet den Verlust von Daten bei der impliziten Typkonvertierung.
- Bei der expliziten Typkonvertierung, auch Type Casting genannt, werden die Datentypen von Objekten mit Hilfe vordefinierter Funktionen durch den Anwender konvertiert.
- Beim Type Casting kann es zu Datenverlusten kommen, wenn wir das Objekt auf einen bestimmten Datentyp zwingen.