小编给大家分享一下python中super的使用示例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
Python是一种编程语言,内置了许多有效的工具,Python几乎无所不能,该语言通俗易懂、容易入门、功能强大,在许多领域中都有广泛的应用,例如最热门的大数据分析,人工智能,Web开发等。
1、super()只能用于新式类中
所谓新式类,旧类的,关键就是看是不是有基类,有基类的就是形式类,比如class A(object),所以class A()自然就是旧式类了。
# 单继承 class A(object): def __init__(self, a, b): self.a = a self.b = b def sayHello(self): print('this is class A, a={},b={}'.format(self.a, self.b)) class B(A): def __init__(self, a, b, c): super(B, self).__init__(a,b) self.c = c def sayHello(self): super(B, self).sayHello() print('this is b call') b = B('b','also b','test') b.sayHello() # this is class A, a=b,b=also b # this is b call
2、super 其实和父类没有实质性的关联
多重继承下,super就没有那么简单了。
# 多重继承 class Base(object): def __init__(self): print('enter Base') print('out Base') class A(Base): def __init__(self): print('enter A') super(A, self).__init__() print('out A') class B(Base): def __init__(self): print('enter B') super(B, self).__init__() print('out B') class C(A, B): def __init__(self): print('enter C') super(C, self).__init__() print('out C') c = C() #enter C #enter A #enter B #enter Base #out Base #out B #out A #out C
以上是“python中super的使用示例”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。