zoukankan      html  css  js  c++  java
  • Python MRO

    MRO, Method Resolution Order

    The MRO algorithm

    1. List the classes that an instance inherits from using the classic class’s  DFLR(Depth First, Left to Right) lookup rule, and include a class multiple times if it’s visited more than once.
    2. Scan the resulting list for duplicate classes, removing all but the last occurrence of duplicates in the list.

    Tracing the MRO

    image

    >>> class A(object): attr = 1
    
    >>> class B(A): pass
    
    >>> class C(A): attr = 2
    
    >>> class D(B, C): pass
    
    >>> D.__mro__
    (<class '__main__.D'>, <class '__main__.B'>, <class '__main__.C'>, <class '__main__.A'>, <type 'object'>)

    image

    >>> class A(object): attr = 1
    
    >>> class B(A): pass
    
    >>> class C(object): attr = 2
    
    >>> class D(B, C): pass
    
    >>> D.__mro__
    (<class '__main__.D'>, <class '__main__.B'>, <class '__main__.A'>, <class '__main__.C'>, <type 'object'>)
  • 相关阅读:
    Oracle基础知识
    tomcat服务器
    jquery实现常用UI布局
    css画布
    css布局
    jquery快速常用技能
    css快速浏览
    css选择器
    spring boot项目mybatis配置注解+配置文件
    sass的安装和基础语法
  • 原文地址:https://www.cnblogs.com/hotbaby/p/4917192.html
Copyright © 2011-2022 走看看