Я хочу преобразовать целое число в строку в Python. Я напрасно печатаю это:
d = 15
d.str()
Когда я пытаюсь преобразовать его в строку, он показывает ошибку, как будто int
не вызывается какой-либо атрибут str
.
Я хочу преобразовать целое число в строку в Python. Я напрасно печатаю это:
d = 15
d.str()
Когда я пытаюсь преобразовать его в строку, он показывает ошибку, как будто int
не вызывается какой-либо атрибут str
.
Ответы:
>>> str(10)
'10'
>>> int('10')
10
Ссылки на документацию:
Преобразование в строку выполняется с помощью встроенной str()
функции, которая в основном вызывает __str__()
метод ее параметра.
Попробуй это:
str(i)
В Python нет типов и типов. Вы должны конвертировать вашу переменную в явном виде.
Для преобразования объекта в строку вы используете str()
функцию. Он работает с любым объектом, у которого есть метод с именем __str__()
define. по факту
str(a)
эквивалентно
a.__str__()
То же самое, если вы хотите конвертировать что-то в int, float и т. Д.
>>> 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
Для 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
Самый приличный способ на мой взгляд это ``.
i = 32 --> `i` == '32'
repr(i)
, так что это будет странно для длинных. (Попробуйте i = `2 ** 32`; print i
)
Для тех, кто хочет преобразовать int в строку в определенных цифрах, рекомендуется следующий метод.
month = "{0:04d}".format(localtime[1])
Для более подробной информации, вы можете обратиться к вопросу о переполнении стека. Отображаемый номер с начальными нулями .
С введением f-строк в Python 3.6 это также будет работать:
f'{10}' == '10'
Это на самом деле быстрее, чем вызов str()
, за счет читабельности.
На самом деле, это быстрее, чем %x
форматирование строк и .format()
!