Python类(三)-多继承的区别
2024-08-26 00:37:50
多继承的有两个方式,一个是广度优先,一个是深度优先
Python2中经典类按深度优先,新式类按广度优先
Python3中经典类和新式类都按广度优先
# -*- coding:utf-8 -*-
__author__ = "MuT6 Sch01aR" class A():
def __init__(self):
print('A') class B(A):
def __init__(self):
print('B') class C(A):
def __init__(self):
print('C') class D(B,C):
pass D()
D继承了B,C
B,C分别继承了A
第一级为A,第二级为B和C(左边的优先),第三级为D
首先在Python3环境下运行,看看结果
首先继承了B,把B中内容改为pass,运行
D继承了C,再把C中内容改为pass,运行
D最后继承了A
可见广度优先的顺序为:B->C->A,即先同一级,再上一级
再在Python2环境中运行,看看是什么情况
首先是B,把B中内容改为pass,运行
D继承了A,把A中内容改为pass,运行
D最后继承了C
深度优先的继承顺序为:B->A->C,即先上一级,再同一级
最新文章
- 错误提示,解决方案java.lang.UnsatisfiedLinkError: Couldn't load easemobservice from loader dalvik.system.PathClassLoad
- Mac 下安装ruby,以及CocoaPods安装以及使用网摘
- AngularJS服务
- Spring之ResourceLoader加载资源
- WebService---Android中访问WebService接口的方法
- 设计模式笔记感悟 - Creational篇
- Hadoop配置文件
- [itint5]任务调度
- 获取工程的exe文件的所在目录
- 【百度地图API】多家地图API内存消耗对比测验(带源码)
- 成功破解邻居的Wifi密码
- js学习之路1: 初识js函数
- Service的启动过程
- 如何选择分布式事务形态(TCC,SAGA,2PC,补偿,基于消息最终一致性等等)
- Win10系列:JavaScript综合实例2
- POJ 1740(构造博弈)
- (转)mysql explain详解
- 提交到开源git时出现:fatal: refusing to merge unrelated histories的解决办法
- Android actionBar与Fragment结合使用Demo2
- ADT下载地址(含各版本)
热门文章
- sqlserver ,镜像数据库,CDC,实时监控数据变化
- Spring初学之bean之间的关系和bean的作用域
- Announcing the Release of ASP.NET MVC 5.1, ASP.NET Web API 2.1 and ASP.NET Web Pages 3.1 for VS2012
- 慕课网python分布式爬虫打造搜索引擎视频中爬取伯乐网文章
- maven笔记(maven使用与安装,eclipse中maven的配置,maven项目的创建)
- deep learning 自编码算法详细理解与代码实现(超详细)
- 用css方法 可以实现多行 超出宽度 出点点点号
- CentOS 6.8安装Docker V1.0
- 常用集合ArrayList浅度解析
- Leetcode 974. Subarray Sums Divisible by K