当我尝试使用 print() 打印一个类的实例时,我得到的输出是这样的:
>>> class Test():
... def __init__(self):
... self.a = 'foo'
...
>>> print(Test())
<__main__.Test object at 0x7fc9a9e36d60>
如何让 print 显示一些自定义的内容(例如包含 a 属性值的内容)?也就是说,如何定义当类被打印时(它们的 字符串表示)会出现什么?
如果你想要为类本身定义行为(在这种情况下,即让 print(Test) 显示一些自定义的内容,而不是 <class __main__.Test> 或类似的内容),可以参考这个链接。实际上,技巧是基本相同的,但应用起来更棘手。