8-900-374-94-44
[email protected]
Slide Image
Меню

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

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

При написании кода нам довольно часто приходится переходить с одного типа данных на другой. Поэтому возможность конвертировать типы данных очень важна. Она дает нам большую гибкость при работе с информацией и в написании эффективно и корректно работающего кода.

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

Итак, давайте начнем!

Типы данных в Python

Python поддерживает много типов данных. Они нужны для определения, представления и обработки различных видов данных, которые существуют и используются в компьютерных программах.

Кроме того, с разными типами данных нам доступны разные операции: то, что вы можете сделать с данными одного типа, невозможно сделать с другими. Например, в Python есть строковые методы, которые используются исключительно для работы со строками. К примеру, .lowercase() и .uppercase() для приведения символов строки в нижний и верхний регистр. И таких примеров очень много. Фактически, подавляющее большинство методов подходят только для какого-то одного типа данных.

Одним из типов данных Python являются строки. Строки – это последовательности символов, которые используются для передачи текстовой информации.

Строки заключаются в одинарные или двойные кавычки. К примеру, это может выглядеть следующим образом:

fave_phrase = "Hello world!" # Hello world! - это строка, заключенная в двойные кавычки

Инты или интеджеры (integers) – это целые числа. Они используются для представления числовых данных. Более того, при работе с целыми числами вы можете выполнять любые математические операции (например, сложение, вычитание, умножение или деление).

Кстати если вы ищете работу, то посмотрите свежие вакансии по Python

Целые числа не заключаются в одинарные или двойные кавычки. Они представляются просто в виде последовательности цифр:

fave_number = 7 # 7 имеет тип int, это целое число # "7" было бы не int, а string, несмотря на то, что это цифра # Все дело в кавычках

Преобразование типов данных

Бывает, данные хранятся или получаются от пользователя в неподходящем формате, т.е. тип этих данных не подходит для манипуляций, которые с ними нужно проделать.

Поскольку каждым типом данных можно управлять по-разному, это часто означает, что перед выполнением наших задач нам нужно преобразовать этот тип данных в более подходящий для конкретной задачи.

Преобразование одного типа данных в другой также называется приведением типа или преобразованием типа. Многие языки предлагают встроенные операторы приведения именно для этого – для явного преобразования одного типа в другой.

Давайте, наконец, посмотрим, как же это сделать.

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

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

Функция принимает в качестве параметра исходную строку, которую вы хотите преобразовать, и возвращает целочисленный эквивалент переданного вами значения.

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

Давайте рассмотрим следующий пример, где необходимое нам число представлено в виде строки:

# цифра 7 в строковом формате
print("7")
# проверяем тип данных при помощи метода type()
print(type("7"))
# Результат
# 7
# <class 'str'>

Чтобы преобразовать строковую версию числа в целочисленный эквивалент, нам нужно воспользоваться функцией

int(). К примеру, это можно сделать следующим образом:

# конвертируем string в int
print(int("7"))
# проверяем тип данных при помощи метода type()
print(type(int("7")))
# Результат
#7
#<class 'int'>

Практический пример преобразования строки в целое число

Допустим, вам необходимо рассчитать возраст пользователя. Вы делаете это на основе полученной от него информации. Данный ввод всегда будет идти в строковом формате.

То есть, даже если пользователь вводит число, вы получите входящие данные строкового типа (<class 'str'>).

Если вы захотите выполнить математические операции с этим инпутом, например вычесть введённое значение из другого числа, вы получите сообщение об ошибке, потому что выполнять математические операции со строками нельзя.

Давайте разберем пример, чтобы увидеть, как это происходит в действии:

current_year = 2021
# просим пользователя ввести его год рождения
user_birth_year_input = input("What year were you born? ")
# вычитаем текущий год из года, введенного пользователем 
user_age = current_year - user_birth_year_input
print(user_age)
# Результат
# What year were you born? 1993
# Traceback (most recent call last):
#  File "demo. py", line 9, in <module>
#    user_age = current_year - user_birth_year_input
# TypeError: unsupported operand type(s) for -: 'int' and 'str'

Итак, мы просим пользователя ввести его год рождения, чтобы на основе этой информации узнать его возраст (вычесть введенный год из 2021). В данном примере, для упрощения задачи, мы не учитываем месяц и дату рождения. Здесь главное понять принцип.

Однако запустив наш код, мы получаем ошибку. В ней сказано, что вычитание не может выполняться между целым числом int и строкой.

Давайте проверим тип данных, введенных с помощью метода type():

current_year = 2021
# просим пользователя ввести его год рождения
user_birth_year_input = input("What year were you born? ")
print(type(user_birth_year_input))
# Результат
# What year were you born? 1993
# <class 'str'>

Действительно, переменная user_birth_year_input является строковой. Всё дело в том, что функция input(), которую мы используем для получения данных от пользователя, всегда возвращает данные строкового типа. Это важно помнить и преобразовывать введенные данные в подходящий для вашей задачи тип.

В нашем примере, чтобы избежать ошибок, нужно преобразовать вводимые пользователем данные в целое число и сохранить его в новой переменной. Сделать это можно следующим образом:

current_year = 2021
# просим пользователя ввести его год рождения
user_birth_year_input = input("What year were you born? ")
# конвертируем пользовательский input в int при помощи функции int() и сохраняем в новой переменной
user_birth_year = int(user_birth_year_input)
# вычитаем текущий год из введенного пользователем года
user_age = current_year - user_birth_year
print(user_age)
# Результат
# What year were you born? 1993
# 28

Как видите, код отработал корректно, и мы получили возраст пользователя.

Важно отметить, что функция int() выдаст вам ошибку, если исходная строка будет содержать какие-либо ещё символы помимо цифр. Например, если пользователь (по ошибке или специально) введет 19f8 в качестве года рождения, то вы получите ошибку. В таком случае важно прописывать так называемую «защиту от дурака». Это можно сделать с помощью конструкции try except, подробнее про это можно почитать в статье «Обрабатываем исключения в Python: try и except».

Заключение

Вот и все – теперь вы знаете, как преобразовать строку в число в Python! Мы разобрали такой встроенный метод как int(), как он работает и как его использовать для приведения строки к целому числу.

Спасибо за чтение! Надеемся, статья была вам полезна. Успехов в написании кода!

Перевод статьи «Python Convert String to Int – How to Cast a String in Python».

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

30.11.20202020-11-30T21:48:44+03:002021-01-18T10:07:22+03:00 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 .

<type 'str'>

Попробуем произвести математическую операцию с переменной:

print(days+5)

Python TypeError исключения 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 строку 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() .

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

Преобразование строки в десятичное число — онлайн-инструменты для работы со строками

Скоро появятся Эти инструменты для обработки строк уже в пути

Просмотр и редактирование строк

Быстрое редактирование строки в браузерном редакторе.

Заменить несколько строк

Заменить набор строк новым набором.

Title-case a String

Преобразование строки в заголовок с правильным регистром.

Сделать слова в строке заглавными

Преобразовать первую букву каждого слова в строке в верхний регистр.

Выровнять строку

Растянуть строку и выровнять ее вдоль левого и правого полей.

Форматирование многострочной строки

Форматирование и выравнивание многострочной строки.

Количество букв в строке

Найти количество букв в строке.

Количество слов в строке

Найти количество слов в строке.

Количество строк в строке

Найдите количество строк в многострочной строке.

Количество абзацев в строке

Найти количество абзацев в многострочной строке.

Сортировка слов в строке

Сортировка всех слов в строке в алфавитном порядке.

Сортировка числовой строки

Сортировка строки, содержащей только числа.

Обратный порядок слов в строке

Обратный порядок всех слов в строке.

Обратный порядок предложений в строке

Обратный порядок всех предложений в строке.

Частотный анализ строк

Поиск наиболее часто встречающихся букв, слов и фраз в строке.

Создать пользовательскую строку

Создать строку с определенными свойствами.

Создать мнемонику строки

Создать мнемонику для слов в строке.

Создать анаграмму из строки

Переставить буквы в строке и создать новую строку.

Номер многострочной строки

Добавление номеров строк к многострочной строке.

Обернуть строку

Обернуть строку до заданной длины строки.

Разделить строку на части

Разделить строку на части определенной длины.

Разделить строку на слоги

Найти слоги в строке.

Перемешать слова в строке

Перетасовать порядок всех слов в строке.

Извлечение электронных писем из строки

Поиск и извлечение всех адресов электронной почты из строки.

Извлечение URL-адресов из строки

Поиск и извлечение всех веб-адресов из строки.

Сделать нить зигзагообразной.

Сделать нить зигзагообразной.

Обвести веревку

Заставить веревку двигаться по кругу.

Сделать нить квадратной

Сделать нить квадратной или прямоугольной.

Скручивание нити

Скручивание нити по спирали.

Заблокировать строку

Вписать строку в блок размером N на M.

Извлечение чисел из строки

Поиск и извлечение всех чисел из строки.

Вычислить статистику строк

Анализ сложности строки, включая энтропию.

ROT18 a Строка

Быстро преобразовать строку в ROT18.

Преобразовать строку в Punycode

Кодировать строку в punycode.

Преобразование Punycode в строку

Декодирование строки из punycode.

QP-encode a String

Преобразование строки в кодировку для печати в кавычках.

QP-decode a String

Преобразование закодированных в кавычки данных в строку.

Base32-кодировать строку

Кодировать строку в base32.

Base32-decode a String

Декодировать строку из base32.

Base45-кодировать строку

Кодировать строку в base45.

Base45-decode a String

Декодировать строку из base45.

Base58-кодировать строку

Кодировать строку в base58.

Base58-decode a String

Декодировать строку из base58.

Base85-кодировать строку

Кодировать строку в Ascii85.

Base85-decode a String

Декодировать строку из Ascii85.

UTF8-кодировать строку

Кодировать строку в UTF8.

UTF8-декодирование строки

Декодирование строки из UTF8.

UTF16-кодировать строку

Кодировать строку в UTF16.

UTF16-декодировать строку

Декодировать строку из UTF16.

UTF32-кодировать строку

Кодировать строку в UTF32.

UTF32-декодировать строку

Декодировать строку из UTF32.

IDN-кодировать строку

Кодировать строку в IDN.

IDN-decode a String

Декодировать строку из кодировки IDN.

Uuencode a String

Преобразование строки в кодировку Unix-to-Unix.

Uudecode a String

Преобразование данных Unix-to-Unix в строку.

Xxencode a String

Преобразование строки в Xxencoding.

Xxdecode a String

Преобразовать строку, закодированную Xx, в обычную строку.

HTML-стрип a String

Удалить все теги HTML из строки.

Удалить символы ударения

Удалить все диакритические знаки из строки.

Добавить символы ударения

Произвольное добавление символов ударения к буквам в строке.

Удалить символы строки

Удалить знаки препинания и другие символы из строки.

Удалить символы строки

Удалить символы из строки.

Удалить гласные строки

Удалить гласные из строки.

Удалить согласные в строке

Удалить согласные в строке.

Добавить повторяющиеся пробелы

Дублировать пробелы в строке, чтобы один пробел стал двумя.

Удалить повторяющиеся пробелы

Нормализация интервалов между строками и удаление всех повторяющихся пробелов.

Diff Two Strings

Визуально сравните и найдите различия между двумя строками.

Строка Расстояние Левенштейна

Рассчитать расстояние Левенштейна между двумя строками.

Расстояние Хэмминга струны

Рассчитать расстояние Хэмминга между двумя струнами.

Найти LCS двух строк

Найти самую длинную общую подпоследовательность двух строк.

Переписать строку

Крошечная система перезаписи строки.

Уменьшение алфавита строки

Ограничение букв алфавита, используемых в строке.

Создание строки Zalgo

Преобразование строки в беспорядок Unicode.

Генерация строковых опечаток

Создать список всех возможных строковых опечаток.

Зеркальное отображение строки

Создание зеркальной копии строки.

Генерировать триграммы

Генерировать все 3 грамма строки.

Сгенерировать все N-граммы

Сгенерировать все Nграммы строки.

Сгенерировать N-пропустить-M-грамм

Сгенерировать n-пропустить-m-грамм строки.

Токенизировать строку

Создать список токенов из строки.

Лемматизировать строку

Лемматизировать все слова в строке.

Основа строки

Сделать основу всех слов в строке.

Grep a String

Извлечение фрагментов, соответствующих регулярному выражению в строке.

Заголовок строки

Разделить строку на фрагменты и извлечь начальные части.

Конец строки

Разбить строку на фрагменты и извлечь конечные части.

Преобразование строки в гиперстроку

Создание гиперстроки из строки.

Преобразовать гиперстроку в строку

Создать обычную строку из гиперстроки.

Преобразование строки в массив

Создание массива символов из строки.

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

Разбить строку на символы и вернуть их целочисленные значения.

Заменить буквы цифрами

Заменить символы в строке цифрами.

Заключить строку в кавычки

Заключить строку в пару кавычек.

Раскрыть строку из кавычек

Удалить кавычки вокруг строки.

Исправить цитирование строк

Исправить строки с неверными кавычками (добавить/удалить отсутствующие кавычки).

Сдвиг строки

Сдвиг символов в строке влево или вправо.

Цветная нить

Создайте красочную нить.

Slugify a String

Создание оптимизированного для SEO URL-адреса из строки.

Создание ошибок в строке

Замена случайных символов в строке и создание ошибок.

Поиск ошибок в строке

Запустить проверку орфографии и найти ошибки в строке.

Смешать две строки

Чередовать две строки посимвольно.

Повторять символы строки

Повторять символы в строке несколько раз.

Генерировать строку LCD

Нарисовать строку на LCD экране.

Создать короткую строку

Создать строку, в которой не слишком много символов.

Создать длинную строку

Создать строку, содержащую много символов.

Создать строки-близнецы

Создать две строки со свойством twin.

Создать триплетные строки

Создать три строки со свойством триплета.

Создать облако строк

Создать облако слов из всех слов в строке.

Разделить строку

Разделить строку на несколько подстрок.

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

Улучшить статью

Сохранить статью

Нравится Статья

  • Уровень сложности: Easy
  • Последнее обновление: 28 фев, 2023

  • Читать
  • Обсудить
  • Улучшить статью

    Сохранить статью

    Нравится Статья

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

    1. Использование INT () Функция

    Синтаксис: INT (String)

    Пример:

    4469

    44469

    44469

    44469

    4446

    4469

    4000444469

    44469

    44469

    44469

    .

    число = '10'

     

    печать ( type (num))

     

    converted_num = int (num)

     

    print ( type (converted_num))

     

    print (converted_num + 20 )

    Выход

    83 <класс 'целое число'> 30

    В качестве примечания, чтобы преобразовать в поплавок, мы можем использовать Float () в Python

    Python3

    NUM = '10483 = '10483 = '10483. type (num))

     

    converted_num = float (num)

     

    print ( type (converted_num))

     

    print (converted_num + 20.5 )

    Output

     
    <класс 'плавающий'>
    31.0 

    2. Использование функции float()

    Сначала мы преобразуем число с плавающей запятой, а затем преобразуем его в целое число. Очевидно, что описанный выше метод лучше (прямое преобразование в целое число)

    Синтаксис: float(string)

    Example:  

    Python3

    a = '2'

    b = '3'

     

    print ( Тип (A))

    Печать ( Тип (B))

    A

    A

    A

    A

    A

    A

    A

    . 0002  

    b = int (b)

     

    sum = a + b

     

    print ( sum )

    Вывод

     <класс 'str'>
    <класс 'ул'>
    5.0 

    3. преобразование строки python в int с помощью функции eval()

    Python3

    a = "100"

    print ( eval (a) + 12 )

    Output

     112 

    . 0003

    print ( eval (a) + 12 )

    Output

     112.0 

    5. Using ast.literal_eval

    Python3

    from ast import literal_eval

     

    int_value = literal_eval( "1234" )

    print (int_value)

    print ( type (int_value))

    Output

     1234
     

    6. Using str.isdigit() 

    Python3

    string = "42"

    if string.isdigit():

         integer = int (string)

         print (integer)

    else :

         print (f "{строка} не является допустимым целым числом." )

    Выходные данные

     42 

    целые числа могут использоваться для вычислений с плавающей запятой.

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

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