__str__ 和 __repr__
Posted yandh
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了__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__时直接输入实例便可以把调用出结果而非实例在内存中的地址
‘‘‘
以上是关于__str__ 和 __repr__的主要内容,如果未能解决你的问题,请参考以下文章
python类中方法__str__()和__repr__()简单粗暴总结