1介绍
__str__
在str(object)
时调用,默认打印的是内存地址,既hex(id(object))
class A:
pass
a = A()
str(a)
'<__main__.A object at 0x7f3b94a113d0>'
2.重写__str__
class A:
def __str__(self):
return "重写了__str__方法"
a = A()
str(a)
'重写了__str__方法'
3.__str__
调用了__repr__
所以重写__repr__
方法也会改变str
的结果
class A:
def __repr__(self):
return "重写了__repr__方法"
a = A()
str(a)
'重写了__repr__方法'
4作用
str
主要是将对象转化为字符串,主要面向对象的使用者
repr
也是将对象转化为字符串,主要面向对象的开发者
import datetime
today = datetime.datetime.now()
str(today)
'2020-08-05 11:51:34.177766'
repr(today)
'datetime.datetime(2020, 8, 5, 11, 51, 34, 177766)'
参考:
https://blog.csdn.net/sinat_41104353/article/details/79254149