Пропустить до содержимого

Преобразование строки в целое число: Как использовать/исправить?

[

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

Алекс Ронкильо 5 комментариев

Представление целых чисел в Python

Целые числа (иногда называемые целочисленными значениями) не содержат десятичной или дробной части. В Python существуют два типа данных, которые можно использовать для хранения целых чисел: int и str. Оба типа предоставляют гибкость для работы с целыми числами в различных ситуациях. В этом руководстве вы узнаете, как можно преобразовать строку Python в целое число (int) и наоборот - как преобразовать целое число в строку.

По окончании этого руководства вы поймете:

  • Как хранить целые числа с использованием str и int
  • Как преобразовать строку Python в целое число (int)
  • Как преобразовать целое число в строку Python

Давайте начнем!

Хранение целых чисел в Python

Целые числа могут быть представлены разными типами данных. В Python для представления целых чисел могут использоваться два возможных типа данных:

  1. str
  2. int

Например, вы можете представить целое число с использованием строкового литерала:

s = "110"

Здесь Python понимает, что вы хотите хранить целое число 110 в виде строки. Вы можете сделать то же самое с использованием типа данных int:

i = 110

Важно выяснить, что вы точно имеете в виду под "110" и 110 в приведенных выше примерах. Как человек, который всю жизнь использовал десятичную систему счисления, вам может быть ясно, что вы имеете в виду число “сто десять”. Однако существует несколько других систем счисления, таких как двоичная и шестнадцатеричная, которые используют разные основания для представления целых чисел.

Например, вы можете представить число “сто десять” в двоичной системе счисления как “1101110” и в шестнадцатеричной системе счисления как “6e”.

Вы также можете представить свои целые числа с использованием других систем счисления в Python, используя типы данных str и int:

binary = 0b1010
hexadecimal = "0xa"

Обратите внимание, что binary и hexadecimal используют префиксы, чтобы идентифицировать систему счисления. Все префиксы целых чисел имеют форму 0?, где ? заменяется символом, который указывает на систему счисления:

  • b: двоичная система счисления (основание 2)
  • o: восьмеричная система счисления (основание 8)
  • d: десятичная система счисления (основание 10)
  • x: шестнадцатеричная система счисления (основание 16)

Техническая деталь: префикс не является обязательным для целочисленного представления, если он может быть выведен из контекста.

int предполагает, что литерализированное целое число используется в десятичной системе счисления:

decimal = 303
hexadecimal_with_prefix = 0x12F
hexadecimal_no_prefix = 12F #Ошибка синтаксиса

Строковое представление целого числа является более гибким, поскольку строка содержит произвольные текстовые данные:

decimal = "303"
hexadecimal_with_prefix = "0x12F"
hexadecimal_no_prefix = "12F"

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

Когда у вас есть строка Python, вы можете преобразовать ее в целое число (int) с помощью функции int(). Это позволяет вам выполнять математические операции и сравнения с этим числом. Преобразование строки в целое число осуществляется путем вызова функции int() и передачи строки в качестве аргумента. Функция int() преобразует строку в десятичное значение:

number = "42"
integer = int(number)

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

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

number = "42a"
integer = int(number) # ValueError

В этом примере строка "42а" нельзя преобразовать в целое число, поэтому будет вызвано исключение ValueError. Если вы ожидаете возможность неправильного формата строки, вы можете обработать исключение с помощью конструкции try-except:

number = "42a"
try:
integer = int(number)
print(integer)
except ValueError:
print("Invalid input")

В этом коде есть блок try, в котором выполняется преобразование строки в целое число. Если преобразование прошло успешно, число будет напечатано. Если возникает исключение ValueError, будет напечатано сообщение “Неверный ввод”.

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

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

integer = 42
number = str(integer)

В этом примере переменная integer содержит целое число 42, которое мы преобразуем в строку "42" с помощью функции str().

Заключение

В этом руководстве вы узнали, как преобразовать строку Python в целое число (int) и наоборот - как преобразовать целое число в строку. Вы также узнали о различных способах представления целых чисел в Python с использованием типов данных str и int. Теперь у вас есть необходимые знания, чтобы работать с целыми числами в Python и выполнять преобразования между строками и числами.

Понравилась ли вам статья?

Лайкните статью, если она вам понравилась.

Рекомендуемое видео-курс

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