object对象中有一个 __str__. 一旦被调用就显示内存地址
repr 是str 的备胎, 当没有__str__ 有 __repr__时调用 repr
str(obj)实际是调用的内部方法obj.__str__方法, 如果有必定返回一个字符串 如果没有__str__方法, 先找本类中的__repr__方法, 在没有找父类中的__str__方法
repe() 只会调用__repr__, 没有调用父类的__repr__ 不会调用__str__
如果__repr__ 和__str__ 只能一个, 最好是用__repr__ 两个都能用
class Na: def __init__(self): self.name = ‘zhoutaixin‘ self.age = 23 # def __str__(self): # return ‘调用的的是方法%s‘%self.name def __repr__(self): return ‘调用额是%r‘%self.age a = Na() print(a)
原文:https://www.cnblogs.com/taysem/p/12659577.html