zoukankan      html  css  js  c++  java
  • python 3新式类的多继承

    因为我用的是python3,所以所用到的类都是新式类,这里我说的都是新式类,python2类的继承复杂一些,主要有新式类和老式类。python3类(新式类)的继承是是广度优先,实例如下:

    class A():
        def __init__(self):
            pass
        def save(self):
            print("This is from A")
    class B(A):
        def __init__(self):
            pass
    class C(A):
        def __init__(self):
            pass
        def save(self):
            print("This is from C")
    class D(B,C):
        def __init__(self):
            pass
    fun =  D()
    fun.save()
    

      执行结果为:

    F:devpythonpython.exe F:/pyCharm/code_statistics/Common/try.py
    This is from C

    Process finished with exit code 0

    题外话,python2只在有显式继承了Object的类才是新式类,没有显式继承Object的类是经典类,经典类的多继承是深度优先,如果是经典类,控制台输出应该为:

    This is from A

  • 相关阅读:
    poj1573
    poj2632
    poj2993 poj2996
    poj3295 构造法
    poj2965枚举
    poj1753 枚举
    poj942Paths on a Grid
    poj1019
    poj1321棋盘问题
    博客园访问量有些小,我就没有必要在复制一份了,博客园就这样吧,继续CSDN了。
  • 原文地址:https://www.cnblogs.com/linwenbin/p/10971542.html
Copyright © 2011-2022 走看看