__str__,__repr__,__add__
程序员文章站
2022-05-18 21:06:23
class School: def __init__(self,name,addr,type): self.name=name self.addr=addr self.type=type def __repr__(self): return 'School(%s,%s)' %(self.name,s... ......
class school: def __init__(self,name,addr,type): self.name=name self.addr=addr self.type=type def __repr__(self): return 'school(%s,%s)' %(self.name,self.addr) def __str__(self): return '(%s,%s)' %(self.name,self.addr) def __add__(self, other): return school(self.name + other,'henan','daxue') ''' str函数或者print函数--->obj.__str__() repr或者交互式解释器--->obj.__repr__() 如果__str__没有被定义,那么就会使用__repr__来代替输出 注意:这俩方法的返回值必须是字符串,否则抛出异常 两个方法并没有太大的区别 ''' school = school('农大','河南','大学') # 我们没有定义__str__,__repr__时,返回是这样的 # <__main__.school object at 0x000001d5e3623358> print(school) # 两个都定义时 print(school) # (农大,河南) # 只有__repr__时 print(school) # school(农大,河南) # 当对象有 + 操作时,会调用__add__方法 # 只能写成school + 'henan' # 不能写成‘henan’ + school school1 = school + 'henan' print(school1)
推荐阅读
-
详解Python中__str__和__repr__方法的区别
-
__str__,__repr__,__add__
-
day26(封装,封装的原理,Property ,setter ,deleter,多态,内置函数 ,__str__ , __del__,反射,动态导入模块)
-
python3全栈开发-内置函数补充,反射,元类,__str__,__del__,exec,type,__call__方法
-
python类中的__str__以及__repr__
-
__str__
-
__str__,__repr__
-
Python 的 __str__ 和 __repr__ 方法对比
-
python类中方法__str__()和__repr__()简单粗暴总结
-
详解Python中__str__和__repr__方法的区别