这是我的班级(尽可能简单):
class MyClass():
def __init__(self, id):
self.id = id
def __str__(self):
return "MyClass #%d" % self.id
当我打印MyClass的对象时,我得到了这个漂亮的字符串:MyClass #id
。但是当我在翻译中“显示”时,我仍然会感到讨厌<__main__...>
。有没有办法改变这种行为?
>>> c = MyClass(5)
>>> print c
MyClass #5
>>> c
<__main__.MyClass instance at 0x1624710>
答案 0 :(得分:10)
def __repr__(self):
return 'MyClass #%d' % (self.id,)
答案 1 :(得分:1)
>>> class MyClass():
... def __init__(self, id):
... self.id = id
... def __repr__(self):
... return "MyClass #%d" % self.id
...
>>> c = MyClass(5)
>>> c
MyClass #5