Python中的super

Posted 清源居士

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python中的super相关的知识,希望对你有一定的参考价值。

super 是用来解决多重继承问题的,直接用类名调用父类方法在使用单继承的时候没问题,但是如果使用多继承,会涉及到查找顺序(MRO)、重复调用(钻石继承)等种种问题。总之前人留下的经验就是:保持一致性。要不全部用类名调用父类,要不就全部用 super,不要一半一半。

 

好处就是可以避免直接使用父类的名字.但是它主要用于多重继承

注意在Python3.0里语法有所改变:你可以用super().__init__()替换super(ChildB, self).__init__().(在我看来非常nice)

 

refer to:

http://www.runoob.com/python/python-func-super.html

https://laike9m.com/blog/li-jie-python-super,70/

http://www.jackyshen.com/2015/08/19/multi-inheritance-with-super-in-Python/ 

http://blog.csdn.net/lqhbupt/article/details/19631991

https://mozillazg.com/2016/12/python-super-is-not-as-simple-as-you-thought.html

以上是关于Python中的super的主要内容,如果未能解决你的问题,请参考以下文章

不立即分离片段

想了解Python中的super 函数么

Java中super关键字的作用与用法

python之类中的super函数

从firebase检索图像以在片段中的回收器视图时出错

Python中的super函数,你熟吗?