class MyClass(object): def __init__(self,name): self.name = name print('__init__方法调用了') #str方法不存在才会触发repr方法 # def __str__(self): # print('------------str--方法被调用了----------') # print("i love python") # return self.name #repr # 就是一个备胎 def __repr__(self): print('-------------repr-----方法被调用了') # return '<MyClass.object-{}>'.format(self.name) return self.name #str(obj) #print(obj) #format(obj) 这三种方法会触发 __str__方法 #repr(obj) #>>>obj 这两种方法触发 __repr__方法 # __str__ 方法没有定义,触发 __repr__方法 #__str__ __repr__方法都没有定义,回去触发父类的相关方法 m = MyClass('limin') print("=============1=====================") print(m) print("==============2====================") str(m) print("===============3===================") format(m) repr(m) print(repr(m))