首页 > 编程语言 > 详细

python多继承中的深度优先与广度优先

时间:2020-07-31 20:30:46      阅读:165      评论:0      收藏:0      [点我收藏+]

深度优先与广度优先(使用一个函数时,查找的优先级与顺序)

1.类为经典类时,多继承情况下,会按照深度优先查找

2.类为新式类时,多继承情况下,会按照广度优先查找

什么时新式类?什么是经典类?

当一个类继承objec时,它就是新式类,python3中取消了经典类,默认继承object,python3中的类为新式类

技术分享图片
 1 class D:
 2     def test():
 3         print("D")
 4  
 5 class C(D):
 6     def test():
 7         print("C")
 8  
 9 class B(D):
10     def test():
11         print("B")
12  
13 class A(B,C):
14     def test():
15         print("A")
16  
17 a=A()
18 a.test()
View Code

深度优先:当调用A类test函数时,如下图所示,先查找A类中有无test函数,再查找B类,再查找D类,最后查找C类。

技术分享图片

 

广度优先:当调用A类test函数时,如下图所示,先查找A类有无test函数,再查找B类,再查找C类,最后查找D类。

技术分享图片

 

python多继承中的深度优先与广度优先

原文:https://www.cnblogs.com/little-sailor/p/13411739.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!