码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2016-06-29 00:57:38      阅读:1740      评论:0      收藏:0      [点我收藏+]

标签:

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中的广度优先和深度优先

标签:

原文地址:http://www.cnblogs.com/along1226/p/5625406.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!