Website-Suche

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'>

Python-String in 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

Python konvertiert Zeichenfolge in Ganzzahl mit Basis

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-String-zu-Int-Wertfehler

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'>

Python Ganzzahl zu Zeichenfolgenkonvertierung

Das ist alles über die Umwandlung von String zu int und int zu String in Python. Referenz: Offizielle Python-Dokumentation