当前位置 : 主页 > 编程语言 > python >

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

来源:互联网 收集:自由互联 发布时间:2021-06-25
参见英文答案 How to print instances of a class using print()?10个 在Java中,我可以覆盖我的类的toString()方法.然后Java的print函数打印由toString()定义的对象的字符串表示.是否有一个Python等同于Java的
参见英文答案 > How to print instances of a class using print()?                                    10个
在Java中,我可以覆盖我的类的toString()方法.然后Java的print函数打印由toString()定义的对象的字符串表示.是否有一个Python等同于Java的toString()?

例如,我有一个PlayCard课程.我有一个PlayCard的实例c.现在:

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

但我想要的是:

>>> print(c)
A♣

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

我正在使用Python 3.x.

与Java的toString最接近的是为您的类实现__str__.把它放在你的类定义中:

def __str__(self):
     return "foo"

您可能还想实现__repr__来帮助调试.

浏览此处获取更多信息:

> Special Method Names – Basic Customization

网友评论