如何使 class 实例看起来不像 '<__main__.Animal at 0x1f053e6abc8>

How to make class instances not look like '<__main__.Animal at 0x1f053e6abc8>

假设我有一个 class 个实例的列表,当我在 Python 中调用它时,它看起来像这样:

[<__main__.Animal at 0x1f053e6abc8>,
 <__main__.Animal at 0x1f049e3f848>,
 <__main__.Animal at 0x1f0532e8d08>,
 <__main__.Animal at 0x1f053e6a1c8>]

我可以在 class 中的代码中添加一些东西,使它们看起来像下面这样吗?

[Lion,
 Gorilla,
 Tiger,
 Baboon]

为您的 class 实施 __repr__ 方法。它应该 return 一个字符串。例如,如果您的 class 有一个“名称”属性,您可以:

def __repr__(self): return self.name