小编典典

如何更改 Python 类的字符串表示形式?

all

在 Java 中,我可以覆盖toString()我的类的方法。然后 Java 的 print
函数打印其定义的对象的字符串表示形式toString()。是否有与 Java 等效的 Python toString()

例如,我有一个 PlayCard 类。我有一个 PlayCard 的实例 c。现在:

>>> print(c)
<__main__.Card object at 0x01FD5D30>

但我想要的是这样的:

>>> print(c)
A♣

如何自定义类实例的字符串表示?

我正在使用 Python 3.x


阅读 71

收藏
2022-05-10

共1个答案

小编典典

与 Java 最接近的等价物toString__str__为您的类实现。把它放在你的类定义中:

def __str__(self):
     return "foo"

您可能还希望实现__repr__以帮助调试。

浏览此处获取更多信息:

2022-05-10