Python中的广度优先和深度优先

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python中的广度优先和深度优先相关的知识,希望对你有一定的参考价值。

Python中分为经典类和新式类:

  经典类:

      class A():

        pass

  新式类:

      class A(object):

        pass

  所以经典类和新式类的区别就是,在声明类的时候,新式类需要加上object关键字。

 

Python中经典类和新式类的区别:

  区别主要体现在继承上:

    Python的类可以继承多个类,Java和C#中则只能继承一个类

    Python的类如果继承了多个类,那么其寻找方法的方式有两种

        当类是经典类时,多继承情况下,会按照深度优先方式查找

        当类是新式类时,多继承情况下,会按照广度优先方式查找

简单点说就是:经典类是纵向查找,新式类是横向查找

 1 经典类:
 2 class Life():
 3     def daily(self):
 4         print "繁衍"
 5 
 6 class Animal(Life):
 7     def daily(self):
 8         print ""
 9         print ""
10         print ""
11         print ""
12 
13 class Puru(Life):
14     def __init__(self):
15         pass
16 
17 class cat(Puru,Animal):
18     def __init__(self):
19         print "喵喵"
20 
21 a = cat()
22 a.daily()
23 
24 
25 执行结果是:
26 
27 喵喵
28 繁衍
29 
30 新式类:
31 class Life(object):
32     def daily(self):
33         print "繁衍"
34 
35 class Animal(Life):
36     def daily(self):
37         print ""
38         print ""
39         print ""
40         print ""
41 
42 class Puru(Life):
43     def __init__(self):
44         pass
45 
46 class cat(Puru,Animal):
47     def __init__(self):
48         print "喵喵"
49 
50 a = cat()
51 a.daily()
52 
53 执行结果是:
54 
55 喵喵
56 57 58 59

以上是关于Python中的广度优先和深度优先的主要内容,如果未能解决你的问题,请参考以下文章

深度优先广度优先python爬虫

深度优先广度优先python爬虫

Python之 爬虫关于深度优先和广度优先

Python爬虫从入门到放弃之 关于深度优先和广度优先

Python算法-深度优先搜索&广度优先搜索(DFS&BFS)

python实现图广度优先遍历深度优先遍历