美文网首页
Python经典类&新式类继承相关

Python经典类&新式类继承相关

作者: 不_一 | 来源:发表于2018-03-13 11:19 被阅读0次

新式类(广度优先)

image.png
class A(object):
    title = 'A'
    pass


class B(A):
    # title = 'B'
    pass


class C(A):
    # title = 'C'
    pass


class D(A):
    # title = 'D'
    pass


class E(B, C):
    # title = 'E'
    pass


class F(C, D):
    # title = 'F'
    pass


class H(E, F):
    # title = 'H'
    pass


print(H.title)

# H E B F C D A

经典类(深度优先)

image.png
class A:
    # title = 'A'
    pass


class B(A):
    # title = 'B'
    pass


class C(A):
    # title = 'C'
    pass


class D(B, C):
    # title = 'D'
    pass


class E(D):
    # title = 'E'
    pass


class F(D):
    title = 'F'
    pass


class H(E, F):
    pass


print(H.title)
# E D B A C F
image.png

首先找入度为0的点,只有一个A,把A拿出来,把A相关的边剪掉,再找下一个入度为0的点,有两个点(B,C),取最左原则,拿B,这是排序是AB,然后剪B相关的边,这时候入度为0的点有E和C,取最左。这时候排序为ABE,接着剪E相关的边,这时只有一个点入度为0,那就是C,取C,顺序为ABEC。剪C的边得到两个入度为0的点(DF),取最左D,顺序为ABECD,然后剪D相关的边,那么下一个入度为0的就是F,然后是object。那么最后的排序就为ABECDFobject。

A.__mro__的结果
 
(<class '__main__.A'>, <class '__main__.B'>, <class '__main__.E'>, <class '__main__.C'>, <class '__main__.D'>, <class '__main__.F'>, <type 'object'>)

相关文章

  • 新式类、经典类

    继承 object 类的是新式类,不继承 object 类的是经典类,在 Python 2.7 里面新式类和经典类...

  • python super用法 2018-01-28

    新式类,经典类 python3之后均称为新式类,默认继承object类 Python2.x版本分为:分新式类与经典...

  • 类的继承顺序

    python2新式类继承object的类python2经典类未继承任何类的python2新式类和python3的继...

  • 【面向对象】Python面向对象之多继承算法

    Python的多继承类的声明如下: Python的类分为经典类和新式类: 经典类:默认是没有继承任何基类的类,2....

  • Python经典类&新式类继承相关

    新式类(广度优先) 经典类(深度优先) 首先找入度为0的点,只有一个A,把A拿出来,把A相关的边剪掉,再找下一个入...

  • 请简述python 经典类和新式类的区别?

    Python中类分为两种:经典类和新式类: 新式类都从object继承,经典类不需要。 新式类的MRO算法曹勇c3...

  • 新式类与经典类

    新式类:继承于object的类都是新式类。 经典类:不是继承object的类都是经典类 在多继承中,新式类采用广度...

  • 新式类和旧式类区别

    Python中类分两种:旧式类和新式类:➤新式类都从object继承,经典类不需要。 ➤新式类的MRO(metho...

  • Flask 2019-10-08

    python2与python3都有经典类和新式类这两种写法,在python2中经典类和新式类的. 继承方式不一...

  • python中的经典类和新式类

    1、定义Python 2.x中默认都是经典类,只有显式继承了object才是新式类(Python2.2出现新式类)...

网友评论

      本文标题:Python经典类&新式类继承相关

      本文链接:https://www.haomeiwen.com/subject/gjkofftx.html