一.经典类的MRO和新式类的MRO c3算法.

二.super()。

一.经典类的MRO和新式类的MRO c3算法.

什么是MRO:解决类中的多继承,重名方法时的查找顺序

如何使用MRO:用类名.__mro__ 获取到类的MRO信息.

C3算法(计算类的,supper()函数

MRO中的C3算法是怎么算的(无论是经典类的MRO还是新式类的MRO他们的算法都是深度优先.原因是深度优先的查找速度很快):

 举例说明:

C3算法(计算类的,supper()函数

C3算法(计算类的,supper()函数

    C3算法(计算类的,supper()函数

C3算法(计算类的,supper()函数 

二.super()。

 C3算法(计算类的,supper()函数

C3算法(计算类的,supper()函数

不管super()写在哪儿. 在哪儿执行. 一定先找到MRO列表. 根据MRO列表的顺序往下找. 否则一切都是错

应用场景:

C3算法(计算类的,supper()函数

and

C3算法(计算类的,supper()函数

相关文章:

  • 2022-12-23
  • 2021-11-20
  • 2021-07-18
  • 2021-09-30
  • 2022-03-09
  • 2022-03-04
  • 2022-01-01
  • 2021-11-07
猜你喜欢
  • 2021-08-12
  • 2022-12-23
  • 2021-08-06
  • 2021-06-02
  • 2021-04-08
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案