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

原文地址:https://www.cnblogs.com/qingyuanjushi/p/8413740.html