zoukankan      html  css  js  c++  java
  • Python多重继承 MRO步骤语录。

    摘抄来至 《Python学习笔记》

    MRO步骤如下:

    1. 按"深度优先,从左到右"顺序获取列表

    2.移除表中的重复类型,仅保留最后一个。

    3.确保子类总在基类前,并确保多继承定义顺序。

    上一个继承的父类,有相同的继承的情况。

    class Boss:
    
        def run(self):
            ...
    
        def __init_subclass__(cls, **kwargs):
            print(cls,'cls')
    
    class A(Boss):
        ...
    
    class B():
        ...
    
    class D1(A,B):
        ...
    
    class D2(Boss):    # 在双方父类继承的情况下,会在BOSS类前进行查寻
        ...
    
    class E(D1, D2):
        ...
    
    print(E.__mro__)
    
    class E1(D2, D1):
        ...
    print(E1.__mro__)
    

      

    输出

    (<class '__main__.E'>, <class '__main__.D1'>, <class '__main__.A'>, <class '__main__.D2'>, <class '__main__.Boss'>, <class '__main__.B'>, <class 'object'>)
    (<class '__main__.E1'>, <class '__main__.D2'>, <class '__main__.D1'>, <class '__main__.A'>, <class '__main__.Boss'>, <class '__main__.B'>, <class 'object'>)

  • 相关阅读:
    冲刺第四天
    冲刺第三天
    冲刺第二天
    评估前冲刺第一天
    点击切换上一页,下一页
    react生命周期
    package.json入门
    nodeType的十二种类型
    ECMAScript 6 let和const命令
    JavaScript语言精粹_JSON
  • 原文地址:https://www.cnblogs.com/sidianok/p/14345638.html
Copyright © 2011-2022 走看看