Как перевести строку в число python
Осваиваем Python: преобразование строки в число на конкретных примерах
Иногда требуется преобразовать строку в целое число или в число с плавающей точкой для осуществления определённых операций в Python.
Если вы попробуете выполнить то или иное действие со строкой в виде чисел, то получите ошибку.
Этот код приведёт к ошибке :
В Python можно использовать функции int и float для преобразования строки в целое число или число с плавающей точкой до осуществления каких-либо операций.
Использование функции int() для преобразования строки в целое число
Рассмотрим следующий код:
В результате его работы выведется значение переменной c, представляющее собой сумму переменных str_a и b.
Преобразование десятичной строки в число с плавающей точкой
Можно использовать класс float для того чтобы осуществить преобразование строки в число с плавающей точкой.
Пример использования float для преобразования строки:
Замечание: если вы попытаетесь использовать здесь функцию int(), то получите ошибку.
Преобразование списка строковых чисел в список целых чисел
Если нужно преобразовать строки из чисел, содержащиеся в списке, тогда используйте генератора списков.
Будет создан новый список, в котором можно применить функцию int в каждой итерации.
Будет выведен новый список, состоящий из целых чисел, полученных из строк.
Преобразование списка строк в список чисел с плавающей точкой
Аналогичным образом можно использовать float вместо int для преобразования списка, содержащего строки из целых чисел. Рассмотрим пример:
Код для преобразования элементов списка в числа с плавающей точкой:
Пример преобразования строки с запятыми в число
Но это может вызвать проблемы в остальных локалях. Другое решение заключается в том, чтобы заменить запятые пустыми строками, то есть“”, а затем использовать функцию int.
В результате получаем целое значение. Это же решение можно применить для конвертации строки в число с плавающей точкой.
Пользовательский ввод в Python- программах воспринимается как строка. В следующем примере пользователя просят ввести год. После ввода значения программа сообщает, високосный это год или нет.
Для этого введённое значение сначала преобразуется в целое число, а затем используется формула расчёта високосного года.
Вводимая строка сразу преобразуется в целое число, а затем используется для расчёта.
Как преобразовать целое число в строку?
Рассмотрим пример преобразования переменной типа int в строку, которая затем используется как строка для конкатенации:
Если бы целочисленная переменная была использована без функции str(), возникла бы ошибка TypeError.
Пожалуйста, оставьте ваши мнения по текущей теме статьи. За комментарии, отклики, лайки, подписки, дизлайки огромное вам спасибо!
Пожалуйста, оставляйте ваши комментарии по текущей теме материала. Мы крайне благодарны вам за ваши комментарии, подписки, отклики, лайки, дизлайки!
BestProg
Содержание
Поиск на других ресурсах:
Функция может вызваться одним из двух способов:
Пример.
Функция имеет две реализации:
Пример.
Функция repr() реализует преобразование в строку таким образом, если бы эта строка была литералом в программном коде.
Функция repr() может быть применена к:
Пример 1. Конвертировать целое число в строку, которая представлена литералом.
Пример 2. Конвертировать в строку число с плавающей запятой.
Пример 3. Конвертировать строку символов в другую строку так если бы она была литералом.
Пример 4. Конвертирование кортежа.
В языке Python функции repr() и str() преобразуют произвольные объекты в их строчное представление.
Разница между функциями проявляется в том, как они конвертируют строку.
Функция repr() возвращает представление строчного объекта в виде строки программного кода, которую можно выполнить чтобы воссоздать этот объект. Иными словами, функция repr() возвращает строку в виде строки. При использовании такого объекта в функции print() будут выведены ограничивающие строку кавычки (строка во вложенных кавычках).
В свою очередь, функция str() используется для конвертирования строки в строку без ее преобразования в предшествующую форму. При использовании результата функции str() в функции print() будет выведена обычная строка в одинарных кавычках.
Например.
Как видно из вышеприведенного кода, функция repr() возвращает строку как литерал
а функция str() возвращает обычную строку
Функция float() возвращает число с плавающей запятой, которое может быть образовано от другого числа или от строки. Функция может вызываться одним из двух способов:
В качестве входного параметра или исходного результата функция может использовать грамматические символы:
Пример.
Функции ord() и chr() используются для одиночных символов. Эти функции являются инверсными друг к другу.
Функция chr() позволяет получать символ на основе его кода. Функция ord() позволяет получить код на основе представления символа.
Общая форма вызова функции chr() следующая
где c – символьное представление символа с Unicode-кодом i .
Общая форма вызова функции ord()
Пример.
7. Можно ли в Python сложить строку с числом?
Нет, нельзя. Если нужно сложить число в форме строки, то для этого используется соответствующая функция преобразования. Если нужно сложить две строки (конкатенация строк), то число конвертируется в строку с помощью соответствующей функции.
Преобразование типов данных в Python 3
Типы данных в Python позволяют классифицировать данные, определить значения, которые можно присвоить, и операции, которые можно выполнить с этими данными. В программировании бывает необходимо конвертировать один тип данных в другой, чтобы получить доступ к другим функциям: например, склеить числовые значения со строками или представить целые числа в виде десятичных.
Данное руководство научит вас преобразовывать числа, строки, кортежи и списки.
Преобразование числовых типов
В Python существует два числовых типа данных: целые числа и числа с плавающей точкой. Для преобразования целых чисел в числа с плавающей точкой и наоборот Python предоставляет специальные встроенные методы.
Преобразование целых чисел в числа с плавающей точкой
Метод float() преобразовывает целые числа в числа с плавающей точкой. Число указывается в круглых скобках:
Это преобразует число 57 в 57.0.
Также можно использовать переменные. Объявите переменную f = 57, а затем выведите число с плавающей точкой:
f = 57
print(float(f))
57.0
Преобразование чисел с плавающей точкой в целые числа
Встроенная функция int() предназначена для преобразования чисел с плавающей точкой в целые числа.
Функция int() работает так же, как и float(). Чтобы преобразовать число, добавьте его в круглые скобки:
Число 390.8 преобразуется в 390.
Эта функция также может работать с переменными. Объявите переменные:
Затем преобразуйте и отобразите их:
print(int(b))
print(int(c))
125
390
Чтобы получить целое число, функция int() отбрасывает знаки после запятой, не округляя их (потому 390.8 не преобразовывается в 391).
Преобразование чисел с помощью деления
При делении Python 3 может преобразовать целое число в число с плавающей точкой (в Python 2 такой функции нет). К примеру, разделив 5 на 2, вы получите 2.5.
Python не преобразовывает тип данных во время деления; следовательно, деля целое число на целое число, в результате вы получили бы целое число, 2.
Преобразование строк
Строка – это последовательность из одного или больше символов (цифр, букв и других символов). Строки – очень распространённый тип данных в программировании. Существует много способов преобразования строк.
Преобразование чисел в строки
Чтобы конвертировать число в строку, используйте метод str(). Поместите число или переменную в круглые скобки.
Попробуйте преобразовать целое число, например:
Запустив метод str(12) в интерактивной оболочке Python (с помощью команды python), вы получите вывод:
Кавычки означают, что теперь 12 является строкой, а не числом.
Особенно полезно преобразовывать числа в строки, используя переменные. К примеру, можно отследить, сколько строк кода в день пишет тот или иной пользователь. Если пользователь пишет больше 50 строк, программа отправит ему поощрительное сообщение.
user = «Michael»
lines = 50
print(«Congratulations, » + user + «! You just wrote » + lines + » lines of code.»)
Запустив этот код, вы получите ошибку:
TypeError: Can’t convert ‘int’ object to str implicitly
Python не может склеивать строки с числами, потому нужно преобразовать значение lines в строку.
user = «Michael»
lines = 50
print(«Congratulations, » + user + «! You just wrote » + str(lines) + » lines of code.»)
Теперь, запустив код, вы увидите:
Congratulations, Michael! You just wrote 50 lines of code.
Метод str() может преобразовать в строку и число с плавающей точкой. Поместите в круглые скобки число или переменную:
print(str(421.034))
f = 5524.53
print(str(f))
421.034
5524.53
Попробуйте выполнить конкатенацию строки и преобразованного в строку числа:
f = 5524.53
print(«Michael has » + str(f) + » points.»)
Michael has 5524.53 points.
Преобразование строк в числа
Строки можно преобразовать в числа с помощью методов int() и float()
Если в строке нет десятичных знаков, лучше преобразовать её в целое число. Для этого используется int().
Попробуйте расширить предыдущий пример кода, который отслеживает количество написанных строк. Пусть программа отслеживает, сколько строк пишет пользователь каждый день.
При запуске возникла ошибка, поскольку Python не может выполнить сложение строк. Преобразуйте строки в числа и попробуйте снова запустить программу:
Значение переменной lines_more – это число, в данном случае это 58.
Также можно преобразовать числа в предыдущем примере в числа с плавающей точкой. Для этого используйте метод float() вместо int().
К примеру, очки начисляются в десятичных значениях.
total_points = «5524.53»
new_points = «45.30»
new_total_points = total_points + new_points
print(new_total_points)
5524.5345.30
В данном случае оператор + склеивает две строки, а не складывает числа. Потому в результате получилось довольно странное значение.
Конвертируйте эти строки в числа с плавающей точкой, а затем выполните сложение.
total_points = «5524.53»
new_points = «45.30»
new_total_points = float(total_points) + float(new_points)
print(new_total_points)
5569.83
Как видите, теперь программа возвращает ожидаемый результат.
Если вы попробуете преобразовать строку с десятичными значениями в целое число, вы получите ошибку:
f = «54.23»
print(int(f))
ValueError: invalid literal for int() with base 10: ‘54.23’
Преобразование в кортежи и списки
Чтобы преобразовать данные в кортеж или список, используйте методы tuple() и list() соответственно. В Python:
Преобразование списка в кортеж
Преобразовывая список в кортеж, вы можете оптимизировать программу. Для преобразования в кортеж используется метод tuple().
print(tuple([‘pull request’, ‘open source’, ‘repository’, ‘branch’]))
(‘pull request’, ‘open source’, ‘repository’, ‘branch’)
Выведенные на экран данные являются кортежем, а не списком, поскольку они взяты в круглые скобки.
Попробуйте использовать tuple() с переменной:
sea_creatures = [‘shark’, ‘cuttlefish’, ‘squid’, ‘mantis shrimp’] print(tuple(sea_creatures))
(‘shark’, ‘cuttlefish’, ‘squid’, ‘mantis shrimp’)
В кортеж можно преобразовать любой итерируемый тип, включая строки:
Конвертируя в кортеж числовой тип данных, вы получите ошибку:
print(tuple(5000))
TypeError: ‘int’ object is not iterable
Преобразование в списки
Вы можете преобразовать кортеж в список, чтобы сделать его изменяемым.
Обратите внимание: при этом в методах list() и print() используется две пары круглых скобок. Одни принадлежать собственно методу, а другие – кортежу.
print(list((‘blue coral’, ‘staghorn coral’, ‘pillar coral’)))
[‘blue coral’, ‘staghorn coral’, ‘pillar coral’]
Если данные, которые вывел метод print, заключены в квадратные скобки, значит, кортеж преобразовался в список.
Чтобы избежать путаницы с круглыми скобками, можно создать переменную:
coral = (‘blue coral’, ‘staghorn coral’, ‘pillar coral’)
list(coral)
Строки тоже можно преобразовывать в списки:
Заключение
Теперь вы умеете преобразовывать различные типы данных Python с помощью встроенных методов, благодаря чему код вашей программы может стать более гибким.
Как быстро и просто преобразовать тип String в Integer на Python
К концу прочтения вы поймёте:
Представление целых чисел в Python
Целое число сохраняют с использованием разных типов. Язык программирования Python предлагает два возможных типа данных для представления целого числа:
Например, вы записываете целое число, используя строковый литерал:
Здесь Python понимает, что вы хотите сохранить целое число 110 в виде строки или используете целочисленный тип данных:
Важно учитывать, что конкретно подразумевается под «110» и 110 в приведённых выше примерах. Для человека, который использовал десятичную систему счисления всю жизнь очевидно, что речь идёт о числе сто десять. Однако другие системы счисления, такие, как двоичная и шестнадцатеричная, используют иные основания для представления целого числа.
Например, вы представляете число сто десять в двоичном и шестнадцатеричном виде как 1101110 и 6e соответственно.
А также записываете целые числа в других системах счисления в Python с помощью типов данных str и int:
int предполагает, что целочисленный литерал – десятичный:
У строкового представления целого числа больше гибкости, потому что строка содержит произвольные текстовые данные:
Каждая из этих строк представляет одно и то же целое число.
Преобразование строки Python в int
Сообщение об ошибке говорит, что строка – недопустимое десятичное целое число.
Важно понимать разницу между двумя типами неудачных результатов при передаче строки в int() :
Вот пример логической ошибки:
В этом примере вы подразумевали, что результатом будет 210 – десятичное представление двоичной строки. К сожалению, поскольку точное поведение не было указано, int() предположил, что строка – десятичное целое число.
Гарантия нужного поведения – постоянно определять строковые представления с использованием явных оснований:
Теперь int() понимает, что вы передаёте шестнадцатеричную строку и ожидаете десятичное целое число.
Техническая подробность: аргумент base не ограничивается 2, 8, 10 и 16:
Отлично! Теперь, когда тонкости преобразования строки Python в int освоены, вы научитесь выполнять обратную операцию.
Преобразование Python int в строку
Для преобразования int в строку Python разработчик использует str() :
По умолчанию str() ведёт себя, как int() : приводит результат к десятичному представлению:
В этом примере str() блеснул «умом»: интерпретировал двоичный литерал и преобразовал его в десятичную строку.
Если вы хотите, чтобы строка представляла целое число в другой системе счисления, то используйте форматированную строку (f-строку в Python 3.6+) и параметр, который задаёт основание:
str – гибкий способ представления целого числа в различных системах счисления.
Заключение
Поздравляем! Вы достаточно много узнали о целых числах и о том, как представлять и преобразовывать их с помощью типов данных Python.
В этом уроке мы изучили:
Преобразование строки в число в Python. Особенности преобразования числа в строку
Иногда нам нужно выполнить преобразование строки в целое число либо в число с плавающей точкой. Потребность в этом возникает для осуществления ряда операций. Как это сделать в Python, мы сейчас и поговорим.
Чтобы осуществить преобразование строки в целое число либо число с плавающей точкой, в Python используют функции int и float. Если вы захотите выполнить преобразование без применения данных функций, то получите ошибку. Например, к ошибке приведёт следующий код:
Преобразование строки в целое число с помощью int() в Python
Давайте посмотрим на следующий участок кода:
С его помощью мы выведем значение переменной «c», которое будет представлять собой сумму переменных «str_a» и «b».
Преобразуем десятичную строку в число с плавающей точкой в Python
Для преобразования строки в число с плавающей точкой мы можем использовать float:
Преобразуем список строковых чисел в список целых чисел в Python
Бывает, что в Python необходимо выполнить преобразование строки из чисел, содержащихся в списке. В таких случаях нам поможет генератор списков. Таким образом создаётся новый список, где можно использовать функцию int() в каждой итерации:
Мы выведем новый список, который будет состоять из целых чисел, полученных из строк.
Преобразуем список строк в список чисел с плавающей точкой в Python
Аналогично можно применять float вместо int для выполнения преобразования списка, включающего в себя строки из целых чисел:
Преобразование строки с запятыми в число в Python
Одно из решений — применение import locale:
Приём работает, но он не идеален. Другое решение — заменить запятые на пустые строки, а потом применить уже известную нам функцию int:
Результат — целое значение. Это же решение мы можем использовать и для преобразования строки в число с плавающей точкой в Python.
Преобразование строки в число при расчёте високосного года в Python
Как известно, пользовательский ввод в «Пайтоне» воспринимается как строка. К примеру, в следующем коде программа попросит пользователя ввести год, а после ввода значений программа сообщит, является ли этот год високосным. При этом введённое значение сначала будет преобразовано в целое число, а потом будет задействована формула расчёта високосного года:
Таким образом происходит преобразование вводимой строки в целое число, а потом это число применяется для расчёта.
Как преобразовать целое число в строку в Python?
Давайте посмотрим на пример преобразования переменной int в строку, которая потом применяется как строка для конкатенации:
Результат будет следующим:

