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 age
objektumot 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))
kinyomtatja7
. Másrésztprint(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'