>>> class Hello():
def __init__(self,sayhello = 'Hello Python!!'):
self.word = sayhello
>>> T = Hello()
>>> T
<__main__.Hello object at 0x000001399B1575F8>
>>> print(T)
<__main__.Hello object at 0x000001399B1575F8> #无论是用print打印还是直接输出对象T,显示的都是
# 对象的内存地址
>>> class HelloRepr(Hello):
def __repr__(self):
return self.word
>>> tr = HelloRepr()
>>> tr
Hello Python!!
>>> print(tr) #重新定义__repr__之后,无论直接输出对象还是用print打印对象,都可以
#直接显示对象内容
Hello Python!!
>>> class HelloStr(Hello):
def __str__(self):
return self.word
>>> ts = HelloStr()
>>> ts
<__main__.HelloStr object at 0x000001399B157908>
>>> print(ts)
Hello Python!! #重新定义__str__之后,用print打印对象可以输出正确内容,直接输出对象依
#然只会显示对象的内存地址
__str__和__repr__的区别
猜你喜欢
转载自blog.csdn.net/dxcve/article/details/81070586
今日推荐
周排行