我想在Python中将整数转换为字符串。我是徒劳地捣蛋:
d = 15
d.str()
当我尝试将其转换为字符串时,它会显示错误,例如int
没有任何名为str
的属性。
答案 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'>)