classMyClass:#自定义一个类def__init__(self,name,age):#定义该类的初始化函数self.name=name#将传入的参数值赋值给成员交量self.age=agedef__str__(self):#用于将值转化为字符串形式,等同于str(obj)return"name:"+self.name+";age:"+str(self.age)__repr__=__str__#转化为供解释器读取的形式def__lt__(self,record):#重载selfrecord运算符ifself.agerecord.age:returnTrueelse:returnFalsedef__add__(self,record):#重载+号运算符returnMyClass(self.name,self.age+record.age)myc=MyClass("Anna",42)#实例化一个对象Anna,并为其初始化mycl=MyClass("Gary",23)#实例化一个对象Gary,并为其初始化print(repr(myc))#格式化对象myc,print(myc)#解释器读取对象myc,调用reprprint(str(myc))#格式化对象myc,输出"name:Anna;age:42"print(mycmycl)#比较mycmycl的结果,输出Falseprint(myc+mycl)#进行两个MyClass对象的相加运算,输出"name:Anna;age:65"输出结果为:name:Anna;age:42name:Anna;age:42name:Anna;age:42Falsename:Anna;age:65这个例子中,MyClass类中重载了repr、str、、+运算符,并用MyClass实例化了两个对象myc和mycl。通过将myc进行repr、str运算,从输出结果中可以看到,程序调用了重载的操作符方法__repr__和__str__。而令myc和mycl进行号的比较运算以及加法运算,从输出结果中可以看出,程序调用了重载号的方法__lt__和__add__方法。那么,Python类支持对哪些方法进行重载呢?这个给大家提供一个表格(表1),列出了Python中常用的可重载的运算符,以及各自的含义。小编整理了一套python学习资料,需要的话可以私信
python技术大本营回复领取资料即可,欢迎大家