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

2024-04-20 15:14:27 发布

您现在位置:Python中文网/ 问答频道 /正文


Tags: python
3条回答

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

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

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

def __str__(self):
    return "Some descriptive string"

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

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

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

def __repr__(self):
    return "Some descriptive string"

>>> myObj在“交互”窗格中,或repr(myObj),将导致myObj.__repr__()

myvariable = 4
mystring = str(myvariable)  # '4'

另外,也可以尝试repr:

mystring = repr(myvariable) # '4'

这在python中称为“转换”,并且非常常见。

相关问题 更多 >