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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 20- 枚举,枚举原始值,枚举相关值,switch提取枚举关联值 Swift枚举: Swift中的枚举比OC中的枚...
    iOS_恒仔阅读 2,337评论 1 6
  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young阅读 3,994评论 1 10
  • 1.1面向对象 面向对象(object-oriented ;简称: OO)至今还没有统一的概念 我这里把它定义为:...
    TENG书阅读 594评论 0 0
  • 两本不错的书: 《Python参考手册》:对Python各个标准模块,特性介绍的比较详细。 《Python核心编程...
    静熙老师哈哈哈阅读 3,399评论 0 80
  • 想起曾经取悦别人的堆笑的嘴脸,真想伸手抓住那个自己的衣领,狠狠地抽一巴掌。有一种愚蠢叫活成别人喜欢的样子!
    麦子的麦地阅读 299评论 0 0