美文网首页
子类定义了一个与父类函数名相同的方法,调用父类该方法时,参数一定

子类定义了一个与父类函数名相同的方法,调用父类该方法时,参数一定

作者: 紫米阁 | 来源:发表于2017-01-17 11:46 被阅读120次

    父类定义了一个方法,该方法除了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()

    相关文章

      网友评论

          本文标题:子类定义了一个与父类函数名相同的方法,调用父类该方法时,参数一定

          本文链接:https://www.haomeiwen.com/subject/dwjmbttx.html