zoukankan      html  css  js  c++  java
  • 继承顺序



    class
    A(object): def test(self): print('from A') class B(A): # def test(self): # print('from B') pass class C(A): # def test(self): # print('from C') pass class D(B): pass # def test(self): # print('from D') class E(C): # def test(self): # print('from E') pass class J(A): pass class H(J): pass class F(D, E, H): # def test(self): # print('from F') pass f1 = F() f1.test() print(F.__mro__) # 只有新式才有这个属性可以查看线性列表,经典类没有这个属性


    from A
    (<class '__main__.F'>,         #开始

    <class '__main__.D'>, <class '__main__.B'>,  #第一遍的中间节点

    <class '__main__.E'>, <class '__main__.C'>,#第二遍的中间节点

    <class '__main__.H'>, <class '__main__.J'>,#第三遍的中间节点

    class '__main__.A'>, <class 'object'>)  #上一级

    
    

    Process finished with exit code 0

     

    棱形::先按继承的顺序查找中间的节点,最后中间的节点查完后,查找上一级

    顺序:

    假设左边的先继承;D-->C1--->C2---P1;    D--->C1----C2--->P2

  • 相关阅读:
    flask笔记(引用)
    三元表达式(列表解析+if)
    生成器
    闭包、装饰器、高阶函数
    列表的解压和取值
    模块
    时间操作
    day16 css, dom
    day 15 html(2) css,javascript,dom
    day 14 html
  • 原文地址:https://www.cnblogs.com/wuxi9864/p/9932972.html
Copyright © 2011-2022 走看看