Как да конвертирате низове в цели числа в Python

Подобно на вградения str()метод, Python предлага и удобния int()метод, който приема обект на низ като аргумент и връща цяло число.

Пример за използване:

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

Изход:

18 18

Въпреки че изходът е визуално подобен, имайте предвид, че първият ред е обект на низ, докато следващият ред е цяло число. Това е илюстрирано допълнително в следващия пример:

age = "18" print(age + 2)

Изход:

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

Грешката трябва да ви изясни, че трябва да конвертирате ageобекта в цяло число, преди да добавите нещо към него.

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

Изход:

20

Но имайте предвид тези специални случаи:

  • Плаваща запетая (цяло число с дробна част) като аргумент ще върне плувката, закръглена надолу до най-близкото цяло цяло число. Например: print(int(7.9))ще отпечата 7. От друга страна, print(int("7.9"))ще доведе до грешка, тъй като поплавъкът като низ обект не може да бъде преобразуван в цяло число.
Traceback (most recent call last): File "", line 1, in  ValueError: invalid literal for int() with base 10: '7.9'
  • Думите, дадени като аргумент, ще върнат същата грешка. Например print(int("one"))ще върне:
Traceback (most recent call last): File "", line 1, in  ValueError: invalid literal for int() with base 10: 'one'