首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在python中将任何数据类型更改为字符串

如何在python中将任何数据类型更改为字符串
EN

Stack Overflow用户
提问于 2010-07-08 22:26:33
回答 8查看 538.2K关注 0票数 152

如何在Python中将任何数据类型更改为字符串?

EN

回答 8

Stack Overflow用户

发布于 2010-07-08 22:27:53

代码语言:javascript
复制
myvariable = 4
mystring = str(myvariable)  # '4'

另外,也可以尝试repr:

代码语言:javascript
复制
mystring = repr(myvariable) # '4'

这在python中被称为“转换”,这是很常见的。

票数 137
EN

Stack Overflow用户

发布于 2010-07-08 23:55:57

str旨在生成对象数据的字符串表示形式。如果您正在编写自己的类,并且希望str为您工作,请添加:

代码语言:javascript
复制
def __str__(self):
    return "Some descriptive string"

print str(myObj)将调用myObj.__str__()

repr是一个类似的方法,它通常产生关于类信息的信息。对于大多数核心库对象,repr会在尖括号中生成类名(有时还会生成一些类信息)。例如,只需在交互窗格中键入您的对象,而不使用print或其他任何东西,就可以使用repr

您可以像定义str的行为一样,为自己的对象定义repr的行为

代码语言:javascript
复制
def __repr__(self):
    return "Some descriptive string"

交互窗格中的>>> myObjrepr(myObj)将导致myObj.__repr__()

票数 62
EN

Stack Overflow用户

发布于 2016-04-02 04:04:47

我看到所有的答案都推荐使用str(object)。如果您的对象包含的ascii字符多于ascii字符,则它可能会失败,并且您将看到类似ordinal not in range(128)的错误。这就是我在转换非英语语言的字符串列表时遇到的情况

我使用unicode(object)解决了这个问题

票数 20
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3204614

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档