Как преобразовать строку в целое число в Python

Python Преобразование строки в целое число

Все типы данных в Python, включая целые числа и строки, являются объектами. При написании кода на Python часто возникает необходимость преобразовать один тип данных в другой. Например, чтобы выполнить математическую операцию над числом, представленным в виде строки, его необходимо преобразовать в целое число.

В этой статье мы покажем вам, как преобразовать строку Python в целое число.

Функция Python int()

Встроенная функция int() возвращает десятичный целочисленный объект из заданного числа или строки. Она имеет следующий вид:

 int ( x , base = 10 )

Функция принимает два аргумента:

  • x — строка или число, преобразуемое в целое число.
  • base — представляет собой систему счисления первого аргумента. Может принимать значения от 0 до 2–36. Этот аргумент необязателен. Если основание не указано, по умолчанию используется 10 (десятичное целое).

Обычно целые числа выражаются в шестнадцатеричной (основание 16), десятичной (основание 10), восьмеричной (основание 8) или двоичной (основание 2) системе счисления.

Если заданная строка не может быть представлена как целое число, функция выдаст исключение ValueError .

Преобразование строки Python в целое число

В Python «строка» — это список символов, который объявляется с использованием одинарных ( ' ), двойных ( " ) или тройных кавычек ( """ ).

Если переменная, содержащая только числа, объявлена в кавычках, её тип данных — String. Рассмотрим следующий пример:

 days = "23" type ( days )

Функция type() показывает нам, что переменная days является String объектом.

 

Давайте попробуем выполнить математическую операцию над переменной:

 print ( days + 5 )

Python выдаст ошибку исключения TypeError , поскольку он не может выполнить вычисление сложения со строкой и целым числом:

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

Чтобы преобразовать строковое представление десятичного целого числа в int , передайте строку функции int() , которая возвращает десятичное целое число:

 days = "23" days_int = int(days) type(days_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 "", line 1, in  ValueError: invalid literal for int() with base 10: 'D5CF'

Заключение

В Python вы можете преобразовать строку в целое число с помощью функции int() .

Если у вас есть вопросы или пожелания, не стесняйтесь оставлять комментарии.

питон

Связанные руководства

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *