如何在Python中将任何数据类型更改为字符串?
发布于 2010-07-08 22:27:53
myvariable = 4
mystring = str(myvariable) # '4'
另外,也可以尝试repr:
mystring = repr(myvariable) # '4'
这在python中被称为“转换”,这是很常见的。
发布于 2010-07-08 23:55:57
str
旨在生成对象数据的字符串表示形式。如果您正在编写自己的类,并且希望str
为您工作,请添加:
def __str__(self):
return "Some descriptive string"
print str(myObj)
将调用myObj.__str__()
。
repr
是一个类似的方法,它通常产生关于类信息的信息。对于大多数核心库对象,repr
会在尖括号中生成类名(有时还会生成一些类信息)。例如,只需在交互窗格中键入您的对象,而不使用print
或其他任何东西,就可以使用repr
。
您可以像定义str
的行为一样,为自己的对象定义repr
的行为
def __repr__(self):
return "Some descriptive string"
交互窗格中的>>> myObj
或repr(myObj)
将导致myObj.__repr__()
发布于 2016-04-02 04:04:47
我看到所有的答案都推荐使用str(object)
。如果您的对象包含的ascii字符多于ascii字符,则它可能会失败,并且您将看到类似ordinal not in range(128)
的错误。这就是我在转换非英语语言的字符串列表时遇到的情况
我使用unicode(object)
解决了这个问题
https://stackoverflow.com/questions/3204614
复制相似问题