In diesem Tutorial werden wir lernen, wie man Python-String in Integer und Integer in String in Python konvertiert. In unserem vorherigen Tutorial haben wir die Funktion Python List append kennengelernt.
Python String zu Int
Wenn Sie unsere vorherigen Tutorials gelesen haben, werden Sie bemerkt haben, dass wir diese Konvertierung zu bestimmten Zeiten verwendet haben. Tatsächlich ist dies in vielen Fällen notwendig. Zum Beispiel, wenn Sie Daten aus einer Datei lesen, wird es im String-Format sein und Sie müssen den String in einen Integer konvertieren. Jetzt gehen wir direkt zum Code. Wenn Sie eine Zahl, die als String dargestellt wird, in eine Integer konvertieren möchten, müssen Sie die Funktion int()
verwenden, um dies zu tun. Sehen Sie sich das folgende Beispiel an:
num = '123' # string data
# den Typ ausgeben
print('Type of num is :', type(num))
# konvertieren mit int()
num = int(num)
# den Typ ausgeben again
print('Now, type of num is :', type(num))
Die Ausgabe des folgenden Codes wird sein
Type of num is : <class 'str'>
Now, type of num is : <class 'int'>

String in Integer konvertieren aus unterschiedlichen Basen
Wenn der String, den Sie in eine Ganzzahl umwandeln möchten, zu einer anderen Zahl als der Basis 10 gehört, können Sie die Basis für die Umwandlung angeben. Beachten Sie jedoch, dass die Ausgabe immer in Basis 10 erfolgt. Eine weitere Sache, an die Sie sich erinnern sollten, ist, dass die angegebene Basis zwischen 2 und 36 liegen muss. Sehen Sie sich das folgende Beispiel an, um die Umwandlung von String in int mit dem Basisargument zu verstehen.
num = '123'
# print the original string
print('The original string :', num)
# considering '123' be in base 10, convert it to base 10
print('Base 10 to base 10:', int(num))
# considering '123' be in base 8, convert it to base 10
print('Base 8 to base 10 :', int(num, base=8))
# considering '123' be in base 6, convert it to base 10
print('Base 6 to base 10 :', int(num, base=6))
Der Ausgabewert des folgenden Codes wird sein:

ValueError beim Umwandeln des Strings in eine Ganzzahl
Beim Konvertieren von Zeichenfolge in Ganzzahl kann es zu einer ValueError
Ausnahme kommen. Diese Ausnahme tritt auf, wenn die Zeichenfolge, die Sie konvertieren möchten, keine Zahlen darstellt. Angenommen, Sie möchten eine hexadezimale Zahl in eine Ganzzahl konvertieren. Aber Sie haben das Argument base=16 nicht in die int()-Funktion übergeben. Es wird eine ValueError
-Ausnahme ausgelöst, wenn eine Ziffer vorhanden ist, die nicht zum dezimalen Zahlensystem gehört. Das folgende Beispiel veranschaulicht diese Ausnahme beim Konvertieren einer Zeichenfolge in eine Ganzzahl.
"""
Scenario 1: The interpreter will not raise any exception but you get wrong data
"""
num = '12' # this is a hexadecimal value
# die Variable wird während der Konvertierung als Dezimalwert betrachtet
print('The value is :', int(num))
# die Variable wird während der Konvertierung als hexadezimaler Wert betrachtet
print('Actual value is :', int(num, base=16))
"""
Scenario 2: The interpreter will raise ValueError exception
"""
num = '1e' # this is a hexadecimal value
# die Variable wird während der Konvertierung als hexadezimaler Wert betrachtet
print('Actual value of \'1e\' is :', int(num, base=16))
# die Variable wird während der Konvertierung als Dezimalwert betrachtet
print('The value is :', int(num)) # this will raise exception
Die Ausgabe des obigen Codes wird sein:
The value is : 12
Actual value is : 18
Actual value of '1e' is : 30
Traceback (most recent call last):
File "/home/imtiaz/Desktop/str2int_exception.py", line 22, in
print('The value is :', int(num)) # this will raise exception
ValueError: invalid literal for int() with base 10: '1e'

Python int zu String
Das Konvertieren eines Ganzzahls in eine Zeichenfolge erfordert keine Anstrengung oder Überprüfung. Sie verwenden einfach die str()
-Funktion, um die Konvertierung durchzuführen. Sehen Sie sich das folgende Beispiel an.
hexadecimalValue = 0x1eff
print('Type of hexadecimalValue :', type(hexadecimalValue))
hexadecimalValue = str(hexadecimalValue)
print('Type of hexadecimalValue now :', type(hexadecimalValue))
Die Ausgabe des folgenden Codes wird sein:
Type of hexadecimalValue : <class 'int'>
Type of hexadecimalValue now : <class 'str'>

Das ist alles zur Umwandlung von Zeichenfolge in Ganzzahl und von Ganzzahl in Zeichenfolge. Referenz: Python Offizielle Dokumentation
Source:
https://www.digitalocean.com/community/tutorials/python-string-to-int-int-to-string