直接输出某个实例化对象,本意往往是想了解该对象的基本信息,例如该对象有哪些属性,它们的值各是多少等等。但默认情况下,我们得到的信息只会是 “类名+object at+内存地址” ,对我们了解该实例化对象帮助不大。
通过重写类的 __repr__()
方法即可自定义输出实例化对象时的信息。事实上,当我们输出某个实例化对象时,其调用的就是该对象的 __repr__()
方法,输出的是该方法的返回值。
和 __init__(self)
的性质一样,Python 中的每个类都包含 __repr__()
方法,因为 object 类包含 __reper__()
方法,而 Python 中所有的类都直接或间接继承自 object 类。
默认情况下,__repr__()
会返回和调用者有关的 “类名+object at+内存地址”信息。当然,可以通过在类中重写这个方法,从而实现当输出实例化对象时,输出想要的信息。