简单来说就是子类在继承父类的时候,重写父类中同名方法时,会将父类的同名方法覆盖掉
定义A类,B类继承A类,C类继承B类与A类,分别使用a来做实例对象,下面我们看一下打印结果
可以看到B类的func1方法覆盖掉了A类中的func1方法,而C类中的方法有覆盖掉了B类中的func1方法,由此观之,在这里面有个继承的先后顺序,或者说是同名方法使用的优先级
我们可以使用
模型类.mro()
模型类.__mro__
来查看继承的关系或者说是优先级
可以看到两种方法打印结果是一样的,优先级从左到右,逐渐减弱
python3中采用深度优先原则