So konvertieren Sie Zeichenfolgen in Python in Ganzzahlen

Ähnlich wie bei der integrierten str()Methode bietet Python auch die praktische int()Methode, bei der ein Zeichenfolgenobjekt als Argument verwendet und eine Ganzzahl zurückgegeben wird.

Anwendungsbeispiel:

# Here age is a string object age = "18" print(age) # Converting a string to an integer int_age = int(age) print(int_age)

Ausgabe:

18 18

Obwohl die Ausgabe optisch ähnlich ist, beachten Sie, dass die erste Zeile ein Zeichenfolgenobjekt ist, während die folgende Zeile ein ganzzahliges Objekt ist. Dies wird im nächsten Beispiel weiter veranschaulicht:

age = "18" print(age + 2)

Ausgabe:

Traceback (most recent call last): File "", line 1, in  TypeError: cannot concatenate 'str' and 'int' objects

Der Fehler sollte Ihnen klar machen, dass Sie das ageObjekt in eine Ganzzahl konvertieren müssen, bevor Sie etwas hinzufügen.

age = "18" age_int = int(age) print(age_int + 2)

Ausgabe:

20

Beachten Sie jedoch folgende Sonderfälle:

  • Ein Gleitkomma (eine Ganzzahl mit Bruchteil) als Argument gibt den Gleitkommawert auf die nächste ganze Ganzzahl abgerundet zurück. Zum Beispiel: print(int(7.9))wird gedruckt 7. print(int("7.9"))Dies führt andererseits zu einem Fehler, da ein Float als Zeichenfolgenobjekt nicht in eine Ganzzahl konvertiert werden kann.
Traceback (most recent call last): File "", line 1, in  ValueError: invalid literal for int() with base 10: '7.9'
  • Als Argument angegebene Wörter geben denselben Fehler zurück. Zum Beispiel print(int("one"))wird zurückgegeben:
Traceback (most recent call last): File "", line 1, in  ValueError: invalid literal for int() with base 10: 'one'