yandyand

导航

__str__ 和 __repr__

'''
___repr__
在交互模式下输入实例 按下回车的时候自动调用
__str__
在调用print函数 打印实例的时候自动调用

'''

class Test:
def __init__(self,name = "yy",age=21):
self.name = name
self.age = age

class TestStr(Test):
#:没有__str__的时候 __repr__ == __str__

# def __str__(self):
# return "%s:%s"%(self.name,self.age)
def __repr__(self):
return "%s:%s"%(self.name,self.age)
t1 = TestStr()
print(t1)

#:如果仔细探究__str__ 和 __repr__ 有什么区别

先使用__str__

 

#:可以看到我直接输入t1 打印的是内存当中的地址

#:再来看__repr__

 

 #:结论:

'''

在使用__str__时直接输入实例并不会打印出结果

但使用__repr__时直接输入实例便可以把调用出结果而非实例在内存中的地址

 

'''

 

 








posted on 2020-07-12 23:44  yandyand  阅读(139)  评论(0编辑  收藏  举报