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

12 set 2022 2 min di lettura
Как преобразовать строки в целые числа в Python
Indice dei contenuti

Введение

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

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

Функция Int() в Python

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

int(x, base=10)

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

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

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

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

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

В 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"
<type 'int'>

Если теперь попытаться выполнить вычисления, операция суммирования будет выполнена правильно:

print(days_int+5)
28

Если в число входят запятые, обозначающие тысячи, миллионы и т. д., нужно убрать запятые перед передачей числа в функцию int():

total = "1,000,000"
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().

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.