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

发布于 2021-01-29 19:36:41

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

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

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

但是我想要的是这样的:

>>> print(c)
A♣

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

我正在使用Python 3.x

关注者
0
被浏览
95
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    与Java最接近的等效项toString__str__为您的类实现。将其放在您的类定义中:

    def __str__(self):
         return "foo"
    

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

    浏览此处获取更多信息:



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看