在python中将整数转换为字符串?

Converting integer to string in Python?

我想用python把一个整数转换成一个字符串。我打字是徒劳的:

1
2
d = 15
d.str()

当我试图将其转换为字符串时,它显示了一个错误,比如int没有任何名为str的属性。


1
2
3
4
>>> str(10)
'10'
>>> int('10')
10

文档链接:

  • int()
  • str()

问题似乎来自这一行:d.str()

转换为字符串是通过内置的str()函数完成的,该函数基本上调用其参数的__str__()方法。


试试这个:

1
str(i)


python中没有类型转换和类型强制。必须以显式方式转换变量。

要转换字符串中的对象,可以使用str()函数。它与定义了一个名为__str__()的方法的任何对象一起工作。事实上

1
str(a)

等于

1
a.__str__()

如果您想将某些内容转换为int、float等,也是一样的。


要管理非整数输入:

1
2
3
4
5
number = raw_input()
try:
    value = int(number)
except ValueError:
    value = 0

好吧,如果我把你最新的代码改写一下,让它和python一起工作:

1
2
3
4
5
6
7
8
9
10
11
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

它给我的感觉是:

1
2
3
4
5
>>> 2
>>> 8 2
>>> 2 3
6
8

它是字符串结果pow(a,b)的第一个字符。我们想在这里做什么?


1
2
3
4
5
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

在python=>3.6中,可以使用f格式:

1
2
3
4
>>> int_value = 10
>>> f'{int_value}'
'10'
>>>


我认为最体面的方式是```。

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


对于希望将int转换为特定数字的字符串的用户,建议使用以下方法。

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

有关更多详细信息,可以参考具有前导零的堆栈溢出问题显示编号。


可以使用%s.format

1
2
3
>>>"%s" % 10
'10'
>>>

(或)

1
2
3
>>> '{}'.format(10)
'10'
>>>