Python-String in Int, Int in String

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'>
Python String To 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:

Python Convert String To Int With Base

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 String To Int ValueError

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'>
Python Int To String Conversion

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