让我们假设我有一个实现str()函数的类。当我现在将这个类的一个对象放入字典并使用字典的str()时,它没有使用这个函数!我做错了什么
class test(object):
def __str__(self):
return("I am a dork")
a = test()
print(a)
X = {0:a}
print(str(tuple(sorted(X.items()))))
返回:
I am a dork
((0, <__main__.test object at 0x7fe5204ddbe0>),)
显然,我们的目标是
((0, 'I am a dork'),)
Python中的容器显示表示,而不是字符串转换。您需要实现^{} 来影响对象表示
注意
__str__
和__repr__
扮演不同的角色;该表示法用于调试,而__str__
字符串输出用于表示。如果__str__
缺失,将使用__repr__
,但反之亦然尝试:
这里reprdoc
相关问题 更多 >
编程相关推荐