This is my class (as simple as it can be):
class MyClass():
def __init__(self, id):
self.id = id
def __str__(self):
return "MyClass #%d" % self.id
When I print an object of MyClass, I get this beautiful string: MyClass #id
. But when I just "show it" in the interpreter, I still get this nasty <__main__...>
. Is there a way to change this behaviour?
>>> c = MyClass(5)
>>> print c
MyClass #5
>>> c
<__main__.MyClass instance at 0x1624710>
def __repr__(self):
return 'MyClass #%d' % (self.id,)
>>> class MyClass():
... def __init__(self, id):
... self.id = id
... def __repr__(self):
... return "MyClass #%d" % self.id
...
>>> c = MyClass(5)
>>> c
MyClass #5
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With