python 之多继承顺序及supper()方法执行顺序

多继承

1、在新式类中查找父类方法或属性,查找方式为广度优先

2、pyhton2经典类中,查找父类方法或属性,查找方式为深度优先

注:mro()方法可以查看类的继承顺序

 

python3新式类,继承查找顺序A ---> B ---> C

 

钻石继承

B和C同时继承A,B中没有func方法,会去找C,如果C也没有func方法则回去找A

 

漏斗继承:E ----> B ---> A ----> D ---> C

 

继承顺序:E ---> B ---> A ---> D ---> C ---> F

 

super() 只在python3中存在

super不是直接找父类,而是根据调用者的节点位置的广度优先顺序

 

posted @ 2020-06-04 21:31  苟住,别浪  阅读(767)  评论(0编辑  收藏  举报