mro即method resolution order,主要用于在多继承时判断调的属性的路径(来自于哪个类)。
之前查看了很多资料,说mro是基于深度优先搜索算法的。但不完全正确在Python2.3之前是基于此算法,但从Python2.3起应用了新算法:C3算法。
最近偶得一种继承顺序推导,可用于笔试
过程:画出多继承图,抹去直接继承箭头,然后按照极左原理取最左边,以此类推。
之前查看了很多资料,说mro是基于深度优先搜索算法的。但不完全正确在Python2.3之前是基于此算法,但从Python2.3起应用了新算法:C3算法。
最近偶得一种继承顺序推导,可用于笔试
过程:画出多继承图,抹去直接继承箭头,然后按照极左原理取最左边,以此类推。