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

Я хочу преобразовать целое число в строку в Python. Я пишу его напрасно:--4-->

d = 15
d.str()

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

10 ответов


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

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

проблема, кажется, исходит из этой строки:d.str().

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

кроме того, не должно быть необходимости звонить pow(). Попробуйте использовать ** оператора.


попробуйте это:

str(i)

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

для преобразования объекта в строку вы используете


a = 2

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


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

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

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

t=raw_input()
c=[]
for j in range(0,int(t)):
    n=raw_input()
    a=[]
    a,b= (int(i) for i in n.split(' '))
    d=pow(a,b)
    d2=str(d)
    c.append(d2[0])
for j in c:
    print j

это дает мне что-то вроде:

>>> 2
>>> 8 2
>>> 2 3
6
8

который является первым символом результата строки pow(a,b). Что мы пытаемся здесь сделать?


>>> 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

самый приличный способ, на мой взгляд,".

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

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

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

(или)

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

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

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

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

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

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