A karakterláncok egészekké alakítása a Pythonban

A beépített str()metódushoz hasonlóan a Python is kínál egy praktikus int()módszert, amely egy string objektumot vesz fel argumentumként, és egész számot ad vissza.

Példa felhasználásra:

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

Kimenet:

18 18

Bár a kimenet vizuálisan hasonló, ne feledje, hogy az első sor egy string objektum, míg a következő sor egy egész objektum. Ezt a következő példa tovább szemlélteti:

age = "18" print(age + 2)

Kimenet:

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

A hibának világossá kell tennie az Ön számára, hogy az ageobjektumot egész számra kell konvertálni, mielőtt hozzáadna valamit hozzá.

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

Kimenet:

20

De ne feledje ezeket a különleges eseteket:

  • Egy lebegőpont (egész szám törtrészekkel) argumentumként lefelé kerekítve adja vissza az úszót a legközelebbi egész számra. Például: print(int(7.9))kinyomtatja 7. Másrészt print(int("7.9"))hibát fog eredményezni, mivel az úszó karakterláncobjektumként nem konvertálható egész számra.
Traceback (most recent call last): File "", line 1, in  ValueError: invalid literal for int() with base 10: '7.9'
  • Az argumentumként megadott szavak ugyanazt a hibát adják vissza. Például print(int("one"))visszatér:
Traceback (most recent call last): File "", line 1, in  ValueError: invalid literal for int() with base 10: 'one'