Python String zu Int, Int zu String Umwandlung – Komplettanleitung
In diesem Tutorial werden wir lernen, wie man in Python einen String zu int und int zu String konvertiert.
Python String zu Int
Wenn Sie unsere vorherigen Tutorials gelesen haben, werden Sie bemerkt haben, dass wir diese Konvertierung manchmal verwendet haben. Tatsächlich ist dies in vielen Fällen notwendig. Zum Beispiel, wenn Sie Daten aus einer Datei lesen, dann werden diese im String-Format vorliegen und Sie müssen den String in ein int konvertieren. Jetzt gehen wir direkt zum Code. Wenn Sie eine Zahl, die im String dargestellt ist, in ein int umwandeln möchten, müssen Sie die Funktion int() 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))
Der Output des folgenden Codes wird sein
Type of num is : <class 'str'>
Now, type of num is : <class 'int'>
Konvertierung von String zu Int aus verschiedener Basis
Wenn der String, den Sie in ein int umwandeln möchten, einer anderen Zahlbasis als Basis 10 angehört, können Sie die Basis für die Konvertierung angeben. Aber denken Sie daran, dass das Ausgabe-Integer immer in Basis 10 ist. Eine weitere Sache, die Sie sich merken müssen, ist, dass die angegebene Basis zwischen 2 und 36 liegen muss. Sehen Sie sich das folgende Beispiel an, um die Konvertierung von String zu Int 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))
Der Output des folgenden Codes wird sein
The original string : 123
Base 10 to base 10 : 123
Base 8 to base 10 : 83
Base 6 to base 10 : 51
ValueError bei der Konvertierung von String zu Int
Bei der Konvertierung von String zu 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 ein Integer umwandeln. Aber Sie haben das Argument base=16 in der Funktion int() nicht angegeben. Es wird eine ValueError-Ausnahme auslösen, wenn es eine Ziffer gibt, die nicht zum dezimalen Zahlensystem gehört. Das folgende Beispiel wird diese Ausnahme bei der Konvertierung eines Strings zu Int illustrieren.
"""
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
Der Output 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
Die Konvertierung eines Int zu String erfordert keine Anstrengung oder Überprüfung. Sie verwenden einfach die Funktion str(), 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))
Der Output des folgenden Codes wird sein:
Type of hexadecimalValue : <class 'int'>
Type of hexadecimalValue now : <class 'str'>
Fazit
Das ist alles zur Python-Konvertierung von String zu Int und Int zu String – Int zu String Umwandlung – Komplettanleitung