Python-String zu Int, Int zu String
In diesem Tutorial werden wir lernen, wie man einen Python-String in einen int und einen int in einen String in Python konvertiert. In unserem vorherigen Tutorial haben wir die Append-Funktion für Python-Listen gelernt.
Python-String in Int
Wenn Sie unsere vorherigen Tutorials gelesen haben, werden Sie bemerken, dass wir zu einem bestimmten Zeitpunkt diese Konversion verwendet haben. Tatsächlich ist dies in vielen Fällen notwendig. Zum Beispiel, wenn Sie Daten aus einer Datei lesen, dann sind diese im String-Format und Sie müssen den String in einen int umwandeln. Jetzt gehen wir direkt zum Code. Wenn Sie eine Zahl, die im String dargestellt ist, in einen int umwandeln möchten, müssen Sie die int()-Funktion dafür verwenden. Sehen Sie sich das folgende Beispiel an:
num = '123' # string data
print the type
print('Type of num is :', type(num))
convert using int()
num = int(num)
print the type 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'>
Konvertierung eines Strings in einen int aus einer anderen Basis
Wenn der String, den Sie in einen Integer umwandeln möchten, einer anderen Zahlbasis als Basis 10 angehört, können Sie die Basis für die Umwandlung angeben. Aber denken Sie daran, dass die ausgegebene Ganzzahl immer in Basis 10 ist. Ein weiterer Punkt, den Sie beachten sollten, ist, dass die angegebene Basis zwischen 2 und 36 liegen muss. Sehen Sie sich das folgende Beispiel an, um die Umwandlung eines Strings in einen Integer mit dem Basis-Argument 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))
Die Ausgabe des folgenden Codes wird sein
ValueError beim Konvertieren von String zu int
Beim Konvertieren von einem String zu einem Int kann es zu einer ValueError-Ausnahme kommen. Diese Ausnahme tritt auf, wenn der String, den Sie konvertieren möchten, keine Zahlen darstellt. Angenommen, Sie möchten eine hexadezimale Zahl in einen Integer konvertieren. Aber Sie haben das Argument base=16 in der int()-Funktion nicht angegeben. Es wird eine ValueError-Ausnahme ausgelöst, wenn es eine Ziffer gibt, die nicht zum dezimalen Zahlensystem gehört. Das folgende Beispiel veranschaulicht diese Ausnahme beim Konvertieren eines Strings zu einem Int.
"""
Scenario 1: The interpreter will not raise any exception but you get wrong data
"""
num = '12' # this is a hexadecimal value
the variable is considered as decimal value during conversion
print('The value is :', int(num))
the variable is considered as hexadecimal value during conversion
print('Actual value is :', int(num, base=16))
"""
Scenario 2: The interpreter will raise ValueError exception
"""
num = '1e' # this is a hexadecimal value
the variable is considered as hexadecimal value during conversion
print('Actual value of \'1e\' is :', int(num, base=16))
the variable is considered as decimal value during conversion
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 einer Ganzzahl in einen String erfordert keine Mühe oder Überprüfung. Man verwendet einfach die str() Funktion, um die Konvertierung durchzuführen. Siehe das folgende Beispiel.
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 über die Umwandlung von String zu int und int zu String in Python. Referenz: Offizielle Python-Dokumentation





