回答:说真的,我对python不是很熟悉,都没啥底气,但那个开头的def init(…………),函数里面,为啥只声明了self.im,是不是其他的也得同样把值传下来,加上self.remo,self.rede试一下;
没有实践就没有发言权,没有代码啊,下次记得附上代码(由于代码缺少,这里就不继承和重载了,效果应该差不多),实验结果如下:
super().init(remo,rede) 为继承父类的__init__方法,这里就注释掉了
按照你写的,应该继承了也没有remo和rede的声明,你试试看,如果有问题,把代码都给一下,我看看能不能改出来
class Comp():
def __init__(self,remo=1,rede=1,im=0):
#super().__init__(remo,rede)
self.im=round(im,2)
def __gt__(self,other):
return (self.remo/self.rede,self.im)>(other.remo/other.rede,other.im)
a=Comp()