Все типы данных в Python, включая целые числа и строки, являются объектами. Часто при написании кода на Python вам необходимо преобразовать один тип данных в другой. Например, чтобы выполнить математическую операцию с числом, представленным в виде строки, его необходимо преобразовать в целое число.
В этой статье мы покажем вам, как преобразовать строку Python в целое число.
Встроенная функция int() возвращает десятичный целочисленный объект из заданного числа или строки. Он принимает следующую форму:
int(x, base=10)
Функция принимает два аргумента:
Обычно целые числа выражаются в шестнадцатеричном (основание 16), десятичном (основание 10), восьмеричном (основание 8) или двоичном (основание 2) обозначении.
Если данный аргумент не может быть представлен как целое число, функция выдаст исключение ValueError.
В Python «строка» — это список символов, который объявляется с помощью одинарных (‘), двойных («) или тройных кавычек («»»).
Если переменная, которая содержит только числа, объявляется с помощью кавычек, ее тип данных устанавливается на String. Рассмотрим следующий пример:
days = "23" type(days)
Функция type() показывает нам , что daysэто объект типа String.
<type 'str'>
Давайте попробуем выполнить математическую операцию над переменной:
print(days+5)
Python выдаст ошибку исключения TypeError, потому что мы не можем выполнить сложное вычисление со строкой и целым числом:
Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: cannot concatenate 'str' and 'int' objects
Чтобы преобразовать строковое представление десятичного целого числа int, передайте строку в функцию int(), которая возвращает десятичное целое число:
days = "23"days_int = int(days)type(days_int)
<type 'int'>
Если вы сейчас попытаетесь сделать математику, операция суммирования будет выполнена успешно:
print(days_int+5)
28
Если число включает запятые, отмечая тысячи, миллионы и т. д., вам необходимо удалить запятые перед передачей числа в функцию int():
total = "1,000,000"int(total.replace(",", ""))
1000000
При преобразовании строк, представляющих целые числа в разных системах счисления, убедитесь, что вы используете правильные значения base.
Например, в шестнадцатеричной системе число 54732 представляется как D5CF. Чтобы преобразовать его в десятичное целое, вам нужно использовать основание 16:
int("D5CF", 16)
54735
Если вы передадите D5CFстроку в функцию int() без установки базы, она выдаст исключение ValueError:
int("D5CF")
Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: invalid literal for int() with base 10: 'D5CF'
В Python вы можете преобразовать строку в целое число, используя функцию int().
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!
Спасибо! Ваша заявка принята
Спасибо! Ваша заявка принята