父类定义了一个方法,该方法除了self参数外,无其他参数。
子类定义了一个与父类函数名相同的方法,调用父类该方法时,参数一定要加上self,否则,会报如下错:
unbound method method() must be called with Super instance as first argument (got nothing instead)
正确代码如下所示:
class Super: #定义一个父类
def method(self):
print('in the Super.method')
class Sub(Super):#定义一个子类
def method(self): #该函数名与父类相同
print('stating Sub.method')
Super.method(self) #参数传入不能空
print('ending Sub.method')
if __name__ == '__main__':
x = Super()
x.method()
y = Sub()
y.method()