您当前的位置:首页 > 计算机 > 编程开发 > Python

图解Python 3.x多继承时方法解析顺序MRO

时间:12-29来源:作者:点击数:
城东书院 www.cdsy.xyz

在Python 3.x的多继承树中,如果在中间层某类有向上一层解析的迹象,则会先把本层右侧的其他类方法解析完,然后从本层最后一个解析的类方法中直接进入上一层并继续解析,也就是在从子类到超类的反向树中按广度优先解析。

在下面的示例代码中,先从SubClassD类进入SubClassB类,因为在SubClassB类中有向上一层解析的迹象,所以先解析SubClassC,然后由SubClassC进入上一层的SubClassA,再由SubClassA进入上一层的BaseClass。

代码输出结果为:

继承树和方法解析顺序如下图所示:

如果在解析过程中,不再有向基类方向上一层解析的迹象,则同一层中右侧其他类方法不再解析。例如下面的代码:

代码输出结果为:

城东书院 www.cdsy.xyz
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门