参见英文答案 How to print instances of a class using print()?10个 在Java中,我可以覆盖我的类的toString()方法.然后Java的print函数打印由toString()定义的对象的字符串表示.是否有一个Python等同于Java的
在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