gpt4 book ai didi

python - __unicode__() 不返回字符串

转载 作者:太空狗 更新时间:2023-10-29 21:24:58 25 4
gpt4 key购买 nike

我在 python 中有以下类

class myTest:
def __init__(self, str):
self.str = str

def __unicode__(self):
return self.str

并在其他文件中实例化 myTest 以试用 unicode() 方法

import myClass


c = myClass.myTest("hello world")

print c

打印出来我得到 <myClass.myTest instance at 0x0235C8A0>但是,如果我覆盖 __str__() 我会得到 hello world作为输出。我的问题是,如果我希望它输出字符串,我应该如何为 __unicode__() 编写覆盖程序?

最佳答案

一般是这样的:

class myTest:
def __init__(self, str):
self.str = str

def __unicode__(self):
return self.str
def __str__(self):
return unicode(self).encode('utf-8')

这是因为 __unicode__ 没有像 __str____repr__ 那样被隐式调用。它由内置函数 unicode 在后台调用,因此如果您不定义 __str__,您将必须执行以下操作:

print unicode(c)

关于python - __unicode__() 不返回字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8624264/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com