两者的目的性:
__repr__的目标是准确性,或者说,__repr__的结果是让解释器用的。
__str__的目标是可读性,或者说,__str__的结果是让人看的。
两者的实现形式:
在类的内部定义直接定义即可。
两者的作用:
str的作用:能够使我们print对象时,直接打印出str函数下的返回值。
repr的作用:能够使我们直接输入对象时,打印出repr函数下的返回值。
例子:
1.str:
class A:
def __str__(self):
return "你好!"
a = A()
print(a)
#会打印出你好俩字
2.repr:
class B:
def __repr__(self):
return "你好!"
a = A()
a #与str魔法方法不同,直接输入对象即可
#会打印出你好俩字