Как преобразовать int в string python
Перейти к содержимому

Как преобразовать int в string python

  • автор:

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

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

1. Использование конструктора строк

Стандартным решением для преобразования объекта в строку является использование str(object) функция.

if __name__ == ‘__main__’ :
print ( ( s , type ( s ) ) ) # (’10’, )

The str(object) функция внутренне вызывает __str__() функция объекта, которая возвращает строковое представление объекта.

if __name__ == ‘__main__’ :
s = x . __str__ ( )
print ( ( s , type ( s ) ) ) # (’10’, )

2. Использование f-строк

Другой подход Pythonic заключается в использовании f-string (форматированный строковый литерал), начиная с Python 3.6. Вы можете сделать это, поставив перед строковым литералом префикс f чтобы поля замены внутри фигурных скобок <> оценивается во время выполнения.

if __name__ == ‘__main__’ :
print ( ( s , type ( s ) ) ) # (’10’, )

3. Использование str.format() функция

До версии 3.6 вы можете использовать str.format() функция. Вот пример его использования:

if __name__ == ‘__main__’ :
s = ‘<>‘ . format ( x )
print ( ( s , type ( s ) ) ) # (’10’, )

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

Оценить этот пост

Средний рейтинг 5 /5. Подсчет голосов: 21

Голосов пока нет! Будьте первым, кто оценит этот пост.

Сожалеем, что этот пост не оказался для вас полезным!

Расскажите, как мы можем улучшить этот пост?

Спасибо за чтение.

Пожалуйста, используйте наш онлайн-компилятор размещать код в комментариях, используя C, C++, Java, Python, JavaScript, C#, PHP и многие другие популярные языки программирования.

Как мы? Порекомендуйте нас своим друзьям и помогите нам расти. Удачного кодирования 🙂

Подписывайся
0 Комментарии
Встроенные отзывы
Просмотреть все комментарии
Загрузить больше комментариев
Просматривать
Подпишитесь на новые публикации

  • Все проблемы
  • Практика DSA
  • 100 самых популярных задач
  • 50 лучших классических задач
  • Лучшие алгоритмы
  • Компилятор С/С++
  • Компилятор Java
  • Компилятор Python
  • Компилятор JavaScript
  • компилятор PHP
  • Компилятор C#
  • Свяжитесь с нами
  • Политика конфиденциальности
  • условия обслуживания
  • Подпишитесь на новые публикации

Techie Delight © 2023 Все права защищены.

Этот веб-сайт использует файлы cookie. Используя этот сайт, вы соглашаетесь с использованием файлов cookie, нашей политикой, условиями авторского права и другими условиями. Читайте наши Политика конфиденциальности. Понятно

Python число в строку

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

Примеры

Вот один пример:

>>> str(123) '123'

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

>>> number = 999 >>> number_as_string = str(number) >>> number_as_string '999'

Конкатенация строк и чисел в Python

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

>>> week = 33 >>> greeting = "it is week " + str(week) >>> greeting 'it is week 33'

Избегаем преобразования типов данных

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

>>> name = "Bob" >>> age = 33 >>> print(name + " is " + str(age) + " years old") Bob is 33 years old

Но гораздо более чистый способ — применять к строкам метод .format() :

>>> print(" is years old".format(name=name, age=age)) Bob is 33 years old

А еще лучше — использовать f-строки (Python 3):

>>> print(f" is years old") Bob is 33 years old

Как преобразовать int в string python

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

>>> i = 110 

Важно учитывать, что конкретно подразумевается под «110» и 110 в приведённых выше примерах. Для человека, который использовал десятичную систему счисления всю жизнь очевидно, что речь идёт о числе сто десять. Однако другие системы счисления, такие, как двоичная и шестнадцатеричная, используют иные основания для представления целого числа.

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

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

>>> binary = 0b1010 >>> hexadecimal = "0xa" 

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

  1. b: двоичная (основание 2);
  2. o: восьмеричная (основание 8);
  3. d: десятичная (основание 10);
  4. x: шестнадцатеричная (основание 16).

Техническая подробность: префикс не требуется ни в int , ни в строковом представлении, когда он определён логически.

int предполагает, что целочисленный литерал – десятичный:

>>> decimal = 303 >>> hexadecimal_with_prefix = 0x12F >>> hexadecimal_no_prefix = 12F File "", line 1 hexadecimal_no_prefix = 12F ^ SyntaxError: invalid syntax 

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

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

Каждая из этих строк представляет одно и то же целое число.

Теперь, когда мы разобрались с базовым представлением целых чисел с помощью str и int , вы узнаете, как преобразовать Python строку в int .

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

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

>>> int("10") 10 >>> type(int("10"))

По умолчанию int() предполагает, что строковый аргумент представляет собой десятичное целое число. Однако если вы передадите шестнадцатеричную строку в int() , то увидите ValueError :

>>> int("0x12F") Traceback (most recent call last): File "", line 1, in ValueError: invalid literal for int() with base 10: '0x12F' 

Сообщение об ошибке говорит, что строка – недопустимое десятичное целое число.

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

  1. Синтаксическая ошибка ValueError возникает, когда int() не знает, как интерпретировать строку с использованием предоставленного основания (10 по умолчанию).
  2. Логическая ошибка int() интерпретирует строку, но не так, как то ожидалось.

Вот пример логической ошибки:

>>> binary = "11010010" >>> int(binary) # Using the default base of 10, instead of 2 11010010 

В этом примере вы подразумевали, что результатом будет 210 – десятичное представление двоичной строки. К сожалению, поскольку точное поведение не было указано, int() предположил, что строка – десятичное целое число.

Гарантия нужного поведения – постоянно определять строковые представления с использованием явных оснований:

>>> int("0b11010010") Traceback (most recent call last): File "", line 1, in ValueError: invalid literal for int() with base 10: '0b11010010' 

Здесь получаете ValueError , потому что int() не способен интерпретировать двоичную строку как десятичное целое число.

Когда передаёте строку int() , указывайте систему счисления, которую используете для представления целого числа. Чтобы задать систему счисления применяется base :

>>> int("0x12F", base=16) 303 

Теперь int() понимает, что вы передаёте шестнадцатеричную строку и ожидаете десятичное целое число.

Техническая подробность: аргумент base не ограничивается 2, 8, 10 и 16:

>>> int("10", base=3) 3 

Отлично! Теперь, когда тонкости преобразования строки Python в int освоены, вы научитесь выполнять обратную операцию.

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

Для преобразования int в строку Python разработчик использует str() :

>>> str(10) '10' >>> type(str(10))

По умолчанию str() ведёт себя, как int() : приводит результат к десятичному представлению:

>>> str(0b11010010) '210' 

В этом примере str() блеснул «умом»: интерпретировал двоичный литерал и преобразовал его в десятичную строку.

Если вы хотите, чтобы строка представляла целое число в другой системе счисления, то используйте форматированную строку (f-строку в Python 3.6+) и параметр, который задаёт основание:

>>> octal = 0o1073 >>> f"" # Decimal '571' >>> f"" # Hexadecimal '23b' >>> f"" # Binary '1000111011' 

str – гибкий способ представления целого числа в различных системах счисления.

Заключение

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

В этом уроке мы изучили:

  1. Как использовать str и int для хранения целых чисел.
  2. Как указать явную систему счисления для целочисленного представления.
  3. Как преобразовать строку Python в int .
  4. Как преобразовать Python int в строку.

Теперь, когда вы усвоили материал о str и int , читайте больше о представлении числовых типов с использованием float(), hex(), oct() и bin()!

Перевод из int в str всех элементов списка

Применен генератор списка — для понимания нужно читать справа ( for i in a ) налево ( str(i) ).

Делает то же самое как код

b = [] for i in a: b.append(i) 

(Вы можете применить его, когда он вам более нравиться.)

Отслеживать
ответ дан 10 июн 2020 в 21:07
15.6k 3 3 золотых знака 18 18 серебряных знаков 30 30 бронзовых знаков

Можно использовать функцию map. Она пройдется по всем элементам вашего списка и применит заданную функцию к каждому из них. Синтаксис:

Кроме списка может использоваться любой итерируемый объект, например, кортеж.

После использования данной функции необходимо будет преобразовать объект обратно в список

В данном случае, это наиболее компактное решение, и в вашем случае оно будет выглядеть так:

b = list(map(str,a)) 

Так же вы можете пройтись по индексам списка при помощи цикла for:

for i in range(len(a)): b.append(str(a[i])) 

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

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