__str__ 和 __repr



#1 默认类里面默认提供的__str__方法,是返回类的内存地址
class foo:
def __init__(self):
pass

#2 修改类里面默认提供的__str__方法
class fun:
def __str__(self):
return '自定制的对象显示方式' #这必须是要return(可以自己控制打印信息)


def __repr__(self):
return "返回repr"


fo = foo()
print(fo) #结果是<__main__.foo object at 0x0376B570> 这是python默认给我们做的,__str__显示类的了内存地址


f = fun()
print(f) #这会自动触发__str__;print(f)调用的--->str(f) 调用的--->f.__str__() 结果是自定制的对象显示方式

#__str__ 和 __repr__ 在里面__str__ 不存在的情况下,就会去找__repr__ 也就是说__repr__是__str__替代品,这2个必须是返回字符串,否则报错

猜你喜欢

转载自www.cnblogs.com/ajaxa/p/9066976.html