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

Я хочу преобразовать целое число в строку в Python. Я напрасно печатаю это:

d = 15
d.str()

Когда я пытаюсь преобразовать его в строку, он показывает ошибку, как у int нет атрибута с именем str.

Ответы

Ответ 1

>>> str(10)
'10'
>>> int('10')
10

Ссылки на документацию:

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

Ответ 2

Попробуйте следующее:

str(i)

Ответ 3

В Python нет приведения типов и никакого принуждения типа. Вы должны преобразовать вашу переменную явным образом.

Чтобы преобразовать объект в строку, вы используете функцию str(). Он работает с любым объектом, который имеет метод с именем __str__(). Фактически

str(a)

эквивалентно

a.__str__()

То же самое, если вы хотите преобразовать что-то в int, float и т.д.

Ответ 4

a = 2

Вы можете использовать str(a), который дает строковый объект int(2).

Ответ 5

Для управления нецелыми входами:

number = raw_input()
try:
    value = int(number)
except ValueError:
    value = 0

Ответ 6

>>> i = 5
>>> print "Hello, world the number is " + i
TypeError: must be str, not int
>>> s = str(i)
>>> print "Hello, world the number is " + s
Hello, world the number is 5

Ответ 7

В Python => 3.6 вы можете использовать форматирование f:

>>> int_value = 10
>>> f'{int_value}'
'10'
>>>

Ответ 8

Самый достойный способ, на мой взгляд, - `..

i = 32   -->    `i` == '32'

Ответ 9

Можно использовать %s или .format

>>> "%s" % 10
'10'
>>>

(ИЛИ ЖЕ)

>>> '{}'.format(10)
'10'
>>>

Ответ 10

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

month = "{0:04d}".format(localtime[1])

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

Ответ 11

С введением f-строк в Python 3.6 это также будет работать:

f'{10}' == '10'

На самом деле это быстрее, чем вызов str(), за счет читабельности.

На самом деле, это быстрее, чем %x форматирование строки и .format() !

Ответ 12

Для Python 3.6 вы можете использовать новую функцию f-strings для преобразования в строку, и это быстрее по сравнению с функцией str(), она используется так:

age = 45
strAge = f'{age}'

По этой причине Python предоставляет функцию str().

digit = 10
print(type(digit)) # will show <class 'int'>
convertedDigit= str(digit)
print(type(convertedDigit)) # will show <class 'str'>

Для более подробного ответа вы можете проверить эту статью: Преобразование Python Int в строку и Python String в Int