English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Bevor Sie sich mit den Typumwandlungen in Python beschäftigen, sollten Sie verstehen Python-Datenarten。
Der Prozess der Konvertierung des Wertes einer Datenart (Ganzzahl, Zeichenkette, Gleitkommazahl usw.) in eine andere Datenart wird als Typumwandlung bezeichnet. Python gibt es zwei Arten von Typumwandlungen.
Implizite Typumwandlung
显式类型转换
Bei impliziten Typumwandlungen konvertiert Python automatisch eine Datenart in eine andere. Dieser Prozess erfordert keine Benutzerbeteiligung.
Lassen Sie uns ein Beispiel betrachten, bei dem Python die Konvertierung niedriger Datenarten (Ganzzahlen) in höhere Datenarten (Gleitkommazahlen) fördert, um Datenverlust zu vermeiden.
Beispiel 123 num_flo = 1.23 num_new = num_int + num_flo " print("num_flo的数据类型:",type(num_flo)) print("num_new的值:",num_new) print("num_new的数据类型:",type(num_new))
print("sum.datentyp:",type(num_sum))
Wenn wir das obige Programm ausführen, wird die Ausgabe sein: num_flo的数据类型: <class 'float'> num_new的值: 124.23 num_new的数据类型: <class 'float'>
sum.datentyp: <class 'int'>
我们将两个变量undWirnum_flo 相加,并将值存储在变量num_new 中。
我们分别查看所有三个对象的数据类型。
在输出中,我们可以看到und的数据类型是 integer,num_flo的数据类型是一个 float。
另外,我们可以看到num_new具有 float 数据类型,因为 Python 总是将较小的数据类型转换为较大的数据类型,以避免数据丢失。
现在,让我们尝试一个字符串和一个整数相加,并查看Python如何处理它。
Beispiel 123 num_int =456num_str = " " print("num_str的数据类型:",type(num_str)) print(num_int+num_str)
print("sum.datentyp:",type(num_sum))
Wenn wir das obige Programm ausführen, wird die Ausgabe sein: num_str的数据类型: <class 'str'> Traceback (most recent call last): 文件 "python", 行 7, 在 <module> TypeError: 不支持的运算符类型(s) for +: 'int' 和 'str'
sum.datentyp: <class 'int'>
我们两个变量num_int 和num_str相加。
从输出中可以看到,我们得到了 TypeError。在这种情况下,Python无法使用隐式转换。
但是,Python针对此类情况提供了一种解决方案,称为“显式转换”。
在“显式类型转换在“”,用户将对象的数据类型转换为所需的数据类型。我们使用像预定义函数 int(),float(),str()等进行显式类型转换。
这种转换类型也称为类型转换,因为用户强制转换(更改)对象的数据类型。
语法 :
<required_datatype>(expression)
可以通过将所需的数据类型函数分配给表达式来完成类型转换。
Beispiel 123 num_int =456num_str = " " print("Datentyp von num_int:",type(num_int)) print("Datentyp vor der Typkonvertierung von num_str:",type(num_str)) num_str = int(num_str) print("Datentyp nach der Typkonvertierung von num_str:",type(num_str)) + num_str num_sum = num_int print("Summe von num_int und num_str:",num_sum)
print("sum.datentyp:",type(num_sum))
Wenn wir das obige Programm ausführen, wird die Ausgabe sein: Datentyp von num_int: <class 'int'> Datentyp von num_str vor der Typkonvertierung: <class 'str'> Datentyp nach der Typkonvertierung von num_str: <class 'int'> 579 Summe von num_int und num_str:
sum.datentyp: <class 'int'>
Im obigen Programmnum_strWirundnum_int
Variablenaddition.num_strWir verwenden die Funktion int() für
Um die Addition durchzuführen, wird der String (hoch) in den Integer (niedrig) Typ konvertiert.num_strNach der Konvertierung in Integer kann Python diese beiden Variablen addieren.
Schließlich erhalten wirnum_sumWert und und der Wertetyp sind Integer.
Typkonvertierung ist die Umwandlung eines Objekts von einem Datentyp in einen anderen.
Implizite Typkonvertierung wird automatisch vom Python-Interpreter ausgeführt.
Python vermeidet Datenverlust bei impliziten Typkonvertierungen.
Explicite Typkonvertierung wird auch als Typumwandlung bezeichnet, bei der der Benutzer Objektdatentypen mit vorgegebenen Funktionen umwandelt.
Bei der Typkonvertierung kann es zu Datenverlust kommen, wenn wir Objekte in einen bestimmten Datentyp umwandeln.