【Python】类的多重继承 、深度优先、广度优先
来源:互联网 发布:mac品牌竞争对手 编辑:程序博客网 时间:2024/06/06 02:44
一、多重继承
1、经典类 vs 新式类
Python 2.x中默认都是经典类,只有显式继承了object才是新式类
Python 3.x中默认都是新式类,不必显式的继承object2、多重继承
python中一个类可以同时继承多个类
class 类名(父类1,父类2,...) 类体
二、深度优先
1、经典类采用深度优先搜索
class P1: def foo(self): print 'p1-foo' class P2 : def foo(self): print 'p2-foo' def bar(self): print 'p2-bar' class C1 (P1,P2): pass class C2 (P1,P2): def bar(self): print 'C2-bar' class D(C1,C2): pass d = D() d.foo() # 输出 p1-foo d.bar() # 输出 p2-bar2、说明:
实例d调用foo()时,搜索顺序是 D => C1 => P1
实例d调用bar()时,搜索顺序是 D => C1 => P1 => P2
经典类的搜索方式:从左到右,深度优先
三、广度优先
1、新式类采用广度优先搜索
class P1(object): def foo(self): print 'p1-foo' class P2(object): def foo(self): print 'p2-foo' def bar(self): print 'p2-bar' class C1 (P1,P2): pass class C2 (P1,P2): def bar(self): print 'C2-bar' class D(C1,C2): pass d=D() d.foo() # 输出 p1-foo d.bar() # 输出 c2-bar2、说明
实例d调用foo()时,搜索顺序是 D => C1 => C2 => P1
实例d调用bar()时,搜索顺序是 D => C1 => C2
四、总结图示
阅读全文
0 0
- 【Python】类的多重继承 、深度优先、广度优先
- python新式类多重继承 广度优先搜索 C3算法
- Python学习笔记8-类的继承 、深度优先、广度优先
- python 图的遍历-深度优先和广度优先
- python深度优先与广度优先的遍历算法比较
- 邻接多重表实现广度深度优先
- 图的深度优先,广度优先
- 数的广度优先和深度优先
- 图的遍历-(深度优先&广度优先)
- 深度优先和广度优先的理解
- 图的深度优先和广度优先
- 图的遍历:深度优先、广度优先
- 深度优先与广度优先
- 深度优先还是广度优先
- 深度优先和广度优先
- 深度优先和广度优先
- 广度优先和深度优先
- 深度优先跟广度优先
- 使用Python实现简单主机批量管理工具
- 要点提炼|开发艺术之Window
- 设计模式——职责链模式
- 使用ACE_Get_Opt解析命令行
- AlexNet论文学习
- 【Python】类的多重继承 、深度优先、广度优先
- MyCnCart专业版之高级评论功能
- Spark2 ML包之决策树分类Decision tree classifier详细解说
- LintCode 练习-734. 形式为a^i b^j c^k的子序列数量
- mybatis中resultMap的几种用法
- HDOJ 1096 A+B for Input-Output Practice (VIII)
- 安卓蓝牙开发
- 微信扫码登录原理解析
- codeforces 266A Stones on the Table