Kaip konvertuoti eilutes į sveikąsias Python versijas

Panašiai kaip įmontuotas str()metodas, „Python“ taip pat siūlo patogų int()metodą, kuris eilutės objektą laiko argumentu ir grąžina sveiką skaičių.

Naudojimo pavyzdys:

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

Išvestis:

18 18

Nors išvestis yra vizualiai panaši, atminkite, kad pirmoji eilutė yra eilutės objektas, o kita eilutė yra sveikasis objektas. Tai dar labiau iliustruoja kitas pavyzdys:

age = "18" print(age + 2)

Išvestis:

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

Klaida turėtų jums aiškiai parodyti, kad ageprieš pridėdami kažką prie jo, objektą turite konvertuoti į skaičių.

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

Išvestis:

20

Tačiau nepamirškite šių ypatingų atvejų:

  • Plūduriuojantis taškas (sveikasis skaičius su trupmenine dalimi) kaip argumentas grąžins plūdurį, suapvalintą žemyn iki artimiausio sveiko skaičiaus. Pavyzdžiui: print(int(7.9))atspausdins 7. Kita vertus, print(int("7.9"))bus klaida, nes plūdės kaip eilutės objekto negalima konvertuoti į sveiką skaičių.
Traceback (most recent call last): File "", line 1, in  ValueError: invalid literal for int() with base 10: '7.9'
  • Žodžiai, pateikti kaip argumentas, pateiks tą pačią klaidą. Pavyzdžiui, print(int("one"))grįš:
Traceback (most recent call last): File "", line 1, in  ValueError: invalid literal for int() with base 10: 'one'