42 ⟶ "42"
str(i)
>>> str(42)'42' >>> int('42')42
str(x)通过调用x.__str__()将任何对象x转换为字符串,如果x没有__str__()方法,则调用#3。
str(x)
x.__str__()
x
__str__()
>>> i = 5>>> print "Hello, world the number is " + iTypeError: must be str, not int>>> s = str(i)>>> print "Hello, world the number is " + sHello, world the number is 5
Python中没有类型转换和类型强制。您必须以显式方式转换您的变量。
要将对象转换为字符串,您可以使用str()函数。它适用于任何定义了__str__()方法的对象。事实上
str()
str(a)
相当于
a.__str__()
如果您想将某些内容转换为int、float等,则相同。
int
float
要管理非整数输入:
number = raw_input()try:value = int(number)except ValueError:value = 0
在我看来,最体面的方式是“。
i = 32 --> `i` == '32'
您可以使用%s或.format:
%s
.format
>>> "%s" % 10'10'>>>
或:
>>> '{}'.format(10)'10'>>>
对于想要将int转换为特定数字的字符串的人,建议使用以下方法。
month = "{0:04d}".format(localtime[1])
有关更多详细信息,您可以参考Stack Overflow问题显示带前导零的数字。
在Python=>3.6中,您可以使用f格式:
f
>>> int_value = 10>>> f'{int_value}''10'>>>
随着Python 3.6中f字串的引入,这也将起作用:
f'{10}' == '10'
它实际上比调用str()更快,但代价是易读性。
事实上,它比%x字符串格式和.format()更快!
%x
.format()
对于Python 3.6,您可以使用f字串新功能转换为字符串,并且与str()函数相比更快。它是这样使用的:
age = 45strAge = f'{age}'
因此,Python提供了str()函数。
digit = 10print(type(digit)) # Will show <class 'int'>convertedDigit = str(digit)print(type(convertedDigit)) # Will show <class 'str'>
有关更详细的答案,您可以查看这篇文章:转换Python Int到String和Python String到Int
这里有一个更简单的解决方案:
one = "1"print(int(one))
>>> 1
在上面的程序中,int()用于转换整数的字符串表示。
注意:字符串格式的变量只有在变量完全由数字组成时才能转换为整数。
以同样的方式,str()用于将整数转换为字符串。
number = 123567a = []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]
有几种方法可以在python中将整数转换为字符串。您可以使用[str(这里的整数)]函数、f-string[f'{integer here}']、. form()函数 [ '{}'.格式(这里的整数),甚至'%s'%关键字['%s'%integer here]。所有这些方法都可以将整数转换为字符串。
见下面的例子
#Examples of converting an intger to string #Using the str() functionnumber = 1convert_to_string = str(number)print(type(convert_to_string)) # output (<class 'str'>) #Using the f-stringnumber = 1convert_to_string = f'{number}'print(type(convert_to_string)) # output (<class 'str'>) #Using the {}'.format() functionnumber = 1convert_to_string = '{}'.format(number)print(type(convert_to_string)) # output (<class 'str'>) #Using the '% s '% keywordnumber = 1convert_to_string = '% s '% numberprint(type(convert_to_string)) # output (<class 'str'>)