python的类可以继承多个类,如果继承多个类,那么其寻找方法的方式有:深度优先和广度优先

  基类或者父类继承了object类,那么该类就是新式类,否则便是经典类

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

  当类时新式类时,多继承情况下,会按照广度优先方法查找
 1 class A(object):
 2     def test(self):
 3         print('from A')
 4
 5 class B(A):
 6     def test(self):
 7         print('from B')
 8
 9 class C(A):
10     def test(self):
11         print('from C')
12
13 class D(B):
14     def test(self):
15         print('from D')
16
17 class E(C):
18     def test(self):
19         print('from E')
20
21 class F(D,E):
22     # def test(self):
23     #     print('from F')
24     pass
25 f1=F()
26 f1.test()
27 print(F.__mro__) #只有新式才有这个属性可以查看线性列表,经典类没有这个属性

新式类继承顺序:F->D->B->E->C->A经典类继承顺序:F->D->B->A->E->Cpython3中统一都是新式类pyhon2中才分新式类与经典类所有的父类的MRO列表遵循如下原则:    子类会先于父类被检查;多个父类会根据它们在列表中的顺序被检查;如果对下一个类存在两个合法的选择,则选择第一个类。

转载于:https://www.cnblogs.com/Meanwey/p/9788740.html

Python进阶-----类的继承顺序相关推荐

  1. Python进阶-----类、对象的相关知识

    一.声明类 class 类名: #一般类名的首字母大写 '类的文档字符串' 类体 例如创建一个中国人的类: 1 class Chinese: 2 '这是一个中国人的类' #类的文档字符串 3 name ...

  2. 如果只推荐一本 Python 进阶的书,我要 Pick 它!

    作者 | 豌豆花下猫 今年二月初,我偶然看到了一条推特: <流畅的Python>一书的作者发布了一条激动人心的消息:他正在写作第二版! 如果要票选最佳的 Python 进阶类书目,这本书肯 ...

  3. 怎么用Python写出随时间变化的字_如果只推荐一本 Python 进阶书籍,我要 Pick 它!...

    本文作者:豌豆花下猫,来源:Python猫 今年二月初,我偶然看到了一条推特: <流畅的Python>一书的作者发布了一条激动人心的消息:他正在写作第二版! 如果要票选最佳的 Python ...

  4. python顺序结构有一个入口_高楼万丈平地起,基础要打牢!Python获取类的层次结构和继承顺序...

    上一篇内容我们详细了解了Python使用inspect模块获取一个模块.类.实例.函数的信息及帮助文档的方法(参见新手入门到进阶,你不可不知的模块,用Python获取对象的详细信息). 前情提要 今天 ...

  5. 7.1.3 Python进阶 《函数》定义、调用,参数,返回值《面向对象》概念,类,实例,对象,属性,方法《模块、包》导入,自定义,常用内置:datatime,time,random,os,sys

    目录 ======== 第四部分 Python进阶 ======== 第一节 函数 4.1.1 函数定义及调用 4.1.2 函数的参数 4.1.3 函数的返回值 第二节 面向对象 4.2.1 面向对象 ...

  6. python进阶练习题:馏分类【难度:2级】--景越Python编程实例训练营,不同难度Python习题,适合自学Python的新手进阶

    python进阶练习题:馏分类[难度:2级]: 为您提供了类"分数",这两个参数(分子,分母)的骨架. 例: fraction1 =分数(4,5) 分数fraction1 =新分数 ...

  7. Python进阶:理解元类创建类ABCMeta

    Python进阶:Python进阶:理解元类创建类ABCMeta 一.理解元类(Meta class) 1.1 元类直观理解 1.2 Python官方文档给出的元类描述 二.理解抽象基类(ABC, A ...

  8. python 元类工厂模式_Python进阶丨如何创建你的第一个Python元类?

    摘要:通过本文,将深入讨论Python元类,其属性,如何以及何时在Python中使用元类. Python元类设置类的行为和规则.元类有助于修改类的实例,并且相当复杂,是Python编程的高级功能之一. ...

  9. Python进阶丨如何创建你的第一个Python元类?

    摘要:通过本文,将深入讨论Python元类,其属性,如何以及何时在Python中使用元类. Python元类设置类的行为和规则.元类有助于修改类的实例,并且相当复杂,是Python编程的高级功能之一. ...

最新文章

  1. ActiveMQ—Queue与Topic区别
  2. 同域内测试蠕虫的一种方法
  3. python集合例题_python基础练习题、集合的讲解、一些公关方法
  4. epoll示例(水平触发)
  5. Vijos P1756 数字反转【进制】
  6. AIX下RAC巡检文档 (上)
  7. python使用蓝牙功能_python bluetooth蓝牙信息获取蓝牙设备类型的方法
  8. 在Ubuntu 18.04系统上安装和配置DBeaver的步骤
  9. 华为下调2020年印度市场收入目标,或裁员60%至70%
  10. 需要某个字体包才能正确显示此页面_[三分钟小文]前端性能优化-页面加载速度优化...
  11. 前端QRCode.js生成二维码(解决长字符串模块和报错问题)
  12. 【leetcode】538. Convert BST to Greater Tree
  13. iOS10 不能跳转系统设置解决办法(1)
  14. DAOs(去中心化自治组织)
  15. ROS激光雷达导航调试记录
  16. Ribbon的简单介绍和使用
  17. 央视点赞!实景三维校园,最暖心的毕业礼...
  18. js如何判断保留两位小数
  19. LibreOffice完美解决中文字体问题(在黑暗中摸索了好久~)
  20. 用计算机探索规律的总结,《用计算器探索规律》(通用6篇)

热门文章

  1. moss 与SAP iView web part 整合
  2. c++ 解析从浏览器端传过来的图像base64编码,并转换成opencv识别的格式
  3. Eclipse设置背景色、字体大小
  4. python操作mongo(2)
  5. newlisp 接受jenkins带空格的参数
  6. 【沟通的艺术】故事大王
  7. lt;备份gt;10.9Sed and 计划任务
  8. SQL Server中的角色(服务器级别和数据库级别角色)
  9. 今天感觉有点冷了其实。
  10. C#的静态方法与静态成员(转)