3.0 KiB
title | localeTitle |
---|---|
How to Convert Strings into Integers in Python | Как преобразовать строки в целые числа в Python |
Как преобразовать строки в целые числа в Python
Подобно встроенной функции str()
, Python также предлагает удобный встроенный элемент, который принимает строковый объект в качестве аргумента и возвращает соответствующий целочисленный объект.
Пример использования:
# Here age is a string object
age = "18"
print(age)
# Converting string to integer
int_age = int(age)
print(int_age)
Вывод
18
18
Здесь, хотя вывод визуально похож, но вы должны иметь в виду, что первая строка печатает строковый объект, а строка рядом с ним печатает целочисленный объект, который далее проиллюстрирован в следующем примере:
age = "18"
print(age+2)
Вывод:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: cannot concatenate 'str' and 'int' objects
The error should make it clear to you that you need to convert the
объект age в целое число, прежде чем добавлять что-то к нему.
age = "18"
age_int = int(age)
print(age_int+2)
Вывод:
20
Но вы должны иметь в виду некоторые особые случаи:
-
Плавающая точка (целое число с дробной частью) в качестве аргумента вернет float, округленное до ближайшего целого целого. Например:
print(int(7.9))
напечатает7
. Такжеprint(int("7.9"))
приведет к ошибке, поскольку строка является недопустимым аргументом для преобразования в целое число.Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: invalid literal for int() with base 10: '7.9'
-
Также любое целое число в словах, если задано в качестве аргумента, вернет ту же ошибку, что и выше:
print(int("one"))
выдаст ошибку следующим образом:Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: invalid literal for int() with base 10: 'one'
Дополнительная информация:
Официальная документацию для int()
встроенные можно найти здесь