标签:int() -- init 字符 __str__ 默认 执行 pytho 年龄
#未自定__str__信息 class Foo: def __init__(self,name,age): self.name = name self.age = age f = Foo(‘Menawey‘,24) print(f) #<__main__.Foo object at 0x000002EFD3D264A8> 因为没有定制__str__,则按照默认输出 #自定__str__信息 class Foo: def __init__(self,name,age): self.name = name self.age = age def __str__(self): return ‘名字是%s,年龄是%d‘%(self.name,self.age) f1 = Foo(‘Meanwey‘,24) print(f1) #名字是Meanwey,年龄是24 s = str(f1) #---> f1.__str__ print(s) #名字是Meanwey,年龄是24
#未自定__str__信息,自定了__repr__ class Foo: def __init__(self,name,age): self.name = name self.age = age def __repr__(self): return ‘来自repr-->名字是%s,年龄是%d‘%(self.name,self.age) f2 = Foo(‘Meanwey‘,24) print(f2) #来自repr-->名字是Meanwey,年龄是24 因为没有自定__str__,则执行__repr__ #自定了__str__信息,自定了__repr__ class Foo: def __init__(self,name,age): self.name = name self.age = age def __str__(self): return ‘来自str-->名字是%s,年龄是%d‘%(self.name,self.age) def __repr__(self): return ‘来自repr-->名字是%s,年龄是%d‘%(self.name,self.age) f2 = Foo(‘Meanwey‘,24) print(f2) #来自str-->名字是Meanwey,年龄是24 因为自定了__str__,则print时不会执行__repr__
Python进阶-----通过类的内置方法__str__和__repr__自定制输出(打印)对象时的字符串信息
标签:int() -- init 字符 __str__ 默认 执行 pytho 年龄
原文地址:https://www.cnblogs.com/Meanwey/p/9788843.html