English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Python-Basistutorial

Flusskontrolle in Python

Python Funktion

Python Datentypen

Dateioperationen in Python

Python-Objekte und Klassen

Python-Daten und Zeit

Hochwertiges Wissen über Python

Python-Referenzhandbuch

Python Typumwandlung

Bevor Sie sich mit den Typumwandlungen in Python beschäftigen, sollten Sie verstehen  Python-Datenarten

Typumwandlung

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.

  1. Implizite Typumwandlung

  2. 显式类型转换

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.

:Fügen Sie String und Integer durch explizite Konvertierung hinzu1:将整数转换为浮点型

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如何处理它。

:Fügen Sie String und Integer durch explizite Konvertierung hinzu2:字符串(较高)数据类型和整数(较低)数据类型的加法

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)

可以通过将所需的数据类型函数分配给表达式来完成类型转换。

:Fügen Sie String und Integer durch explizite Konvertierung hinzu3Typkonvertierung kann durch Zuweisung der erforderlichen Datenbankfunktionen an den Ausdruck erfolgen.

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.

Zu beachtende Punkte

  1. Typkonvertierung ist die Umwandlung eines Objekts von einem Datentyp in einen anderen.

  2. Implizite Typkonvertierung wird automatisch vom Python-Interpreter ausgeführt.

  3. Python vermeidet Datenverlust bei impliziten Typkonvertierungen.

  4. Explicite Typkonvertierung wird auch als Typumwandlung bezeichnet, bei der der Benutzer Objektdatentypen mit vorgegebenen Funktionen umwandelt.

  5. Bei der Typkonvertierung kann es zu Datenverlust kommen, wenn wir Objekte in einen bestimmten Datentyp umwandeln.