码迷,mamicode.com
首页 > 编程语言 > 详细

Python中的super

时间:2018-02-04 19:28:39      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:多重继承   .com   语法   3.0   sim   nic   href   bsp   sel   

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

标签:多重继承   .com   语法   3.0   sim   nic   href   bsp   sel   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!