在python3中,所有类的父类object类实现了__str__和__repr__两个魔法方法,那么这两个方法究竟有什么用呢
下面我们用代码来演示以下
>>> class A:
... def __str__(self):
... return '1'
... def __repr__(self):
... return '2'
...
>>> a = A()
>>> a
2
>>> print(a)
1
从以上打印结果可以看出:
当我们打印实例对象的时候,会调用__str__方法;该方法主要用于对用户进行输出展示
当我们调用实例对象的时候,会调用__repr__方法;该方法主要用于程序员自己调试观测
tips:
1.这两个方法的返回值都必须是字符串类型
2.如果__str__方法未重写,而__repr__方法已重写,那么当打印实例对象的时候,会自动调用__repr__方法