将整数转换为字符串?

我想在Python中把一个整数转换成一个字符串。我正在进行类型化处理,但这是徒劳的。

d = 15
d.str()

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

对该问题的评论 (2)
解决办法
>>> str(10)
'10'
>>> int('10')
10

文档的链接。

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

评论(0)

试试这个。

str(i)
评论(0)

在Python中没有类型转换,也没有类型强制。 你必须以一种显式的方式转换你的变量。

要将一个对象转换为字符串,你需要使用str()函数。 它适用于任何定义了名为"str()`方法的对象。 事实上

str(a)

相当于

a.__str__()

如果你想把某个东西转换为int、float等,也是一样的。

评论(0)

管理非整数输入。

number = raw_input()
try:
    value = int(number)
except ValueError:
    value = 0
评论(0)
>>> 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
评论(0)

在Python => 3.6中,你可以使用f格式化。

>>> int_value = 10
>>> f'{int_value}'
'10'
>>>
评论(1)

在我看来,最体面的方式就是``。

i = 32   -->    `i` == '32'
评论(2)

可使用%s.格式

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

(OR)

>>> '{}'.format(10)
'10'
>>>
评论(0)

对于想把int转换成特定数字的字符串的人,推荐使用下面的方法。

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

详情可以参考Stack Overflow问题https://stackoverflow.com/questions/134934/display-number-with-leading-zeros

评论(0)

在Python 3.6中,你可以使用f-strings新特性来转换为字符串,而且它比str()函数更快,它就是这样使用的。

age = 45
strAge = f'{age}'

Python 为此提供了 str() 函数。

digit = 10
print(type(digit)) # will show 
convertedDigit= str(digit)
print(type(convertedDigit)) # will show 

更详细的解答你可以看看这篇文章。 [将Python Int转换为String和Python String转换为Int][1] 。

[1]: https://www.ninjadevcorner.com/2019/06/converting-python-int-to-string-python-string-to-int.html

评论(0)

在Python 3.6中引入f-strings后,这也可以用。

f'{10}'
== '10'

它实际上比调用str()快,但代价是可读性。

事实上,它比%x字符串格式化和.format()快!

评论(0)