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

时间:2009-06-07 10:22:38

标签: python

我想在Python中将整数转换为字符串。我是徒劳地捣蛋:

d = 15
d.str()

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

13 个答案:

答案 0 :(得分:1864)

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

文档链接:

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

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

答案 1 :(得分:103)

试试这个:

str(i)

答案 2 :(得分:50)

Python中没有类型转换和类型强制。您必须以明确的方式转换变量。

要转换字符串中的对象,请使用str()函数。它适用于任何定义了__str__()方法的对象。事实上

str(a)

相当于

a.__str__()

如果你想将某些东西转换为int,float等,那就相同

答案 3 :(得分:15)

管理非整数输入:

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)的第一个字符。 我们在这里做什么?

答案 4 :(得分:13)

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

答案 5 :(得分:8)

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

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

答案 6 :(得分:5)

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

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

答案 7 :(得分:4)

可以使用%s.format

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

(OR)

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

答案 8 :(得分:4)

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

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

有关详情,请参阅Stack Overflow问题 Display number with leading zeros

答案 9 :(得分:0)

随着Python 3.6中引入了f字符串,这也将起作用:

f'{10}' == '10'

实际上,它比调用str()更快,但会降低可读性。

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

答案 10 :(得分:0)

对于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'>

有关详细答案,请查看以下文章:Converting Python Int to String and Python String to Int

答案 11 :(得分:0)

这是一个更简单的解决方案:

one = "1"
print(int(one))

输出控制台

>>> 1

在上述程序中, int()用于转换整数的字符串表示形式。

注意:只有当变量完全由数字组成时,才可以将字符串格式的变量转换为整数。

以同样的方式, str()用于将整数转换为字符串。

number = 123567
a = []
a.append(str(number))
print(a) 

我使用一个列表来打印输出,以突出显示变量(a)是字符串。

输出控制台

>>> ["123567"]

但是要了解列表存储字符串和整数的区别,请先查看下面的代码,然后查看输出。

代码

a = "This is a string and next is an integer"
listone=[a, 23]
print(listone)

输出控制台

>>> ["This is a string and next is an integer", 23]

答案 12 :(得分:0)

在python中有几种将整数转换为字符串的方法。 您可以使用[str(integer here)]函数,f字符串[f'{integer here}'],.format()函数['{}'。format(integer here)甚至是'%s' %关键字[这里是'%s'%整数]。所有这些方法都可以将整数转换为字符串。

请参见以下示例

#Examples of converting an intger to string

#Using the str() function
number = 1
convert_to_string = str(number)
print(type(convert_to_string)) # output (<class 'str'>)

#Using the f-string
number = 1
convert_to_string = f'{number}'
print(type(convert_to_string)) # output (<class 'str'>)

#Using the  {}'.format() function
number = 1
convert_to_string = '{}'.format(number)
print(type(convert_to_string)) # output (<class 'str'>)

#Using the  '% s '% keyword
number = 1
convert_to_string = '% s '% number
print(type(convert_to_string)) # output (<class 'str'>)