>>> class Test:
... def __repr__(self):
... return "test()"
... def __str__(self):
... return "member of Test"
...
>>> t = test()
>>> t
test()
>>> print(t)
member of Test
该__str__
方法是在打印时发生的事情,该__repr__
方法是在使用repr()
功能时(或在交互式提示下查看它时)发生的事情。如果这不是最Python化的方法,我深表歉意,因为我也在学习-但这确实可行。
如果未提供任何__str__
方法,Python将__repr__
改为打印结果。如果定义__str__
但没有__repr__
,Python将使用你所看到的上面的__repr__
,但仍使用__str__
打印。