python中的继承机制

您所在的位置:网站首页 supper是什么东西 python中的继承机制

python中的继承机制

2024-06-18 17:56| 来源: 网络整理| 查看: 265

前言

super 是用来解决多重继承问题的,直接用类名调用父类方法在使用单继承的时候没问题,但是如果使用多继承,会涉及到查找顺序(MRO)、重复调用(钻石继承)等种种问题。

一、super用法

我们先简单的理解为super().xx相当于调用了父类中的xx方法(实际上在单继承中是这样,多继承中有点区别)。

时候会看到像下面这样直接调用父类的一个方法:

class Base: def __init__(self): print('Base.__init__') class A(Base): def __init__(self): Base.__init__(self) print('A.__init__')

尽管对于大部分代码而言这么做没什么问题,但是在更复杂的涉及到多继承的代码中就有可能导致很奇怪的问题发生。 比如,考虑如下的情况:

class Base: def __init__(self): print('Base.__init__') class A(Base): def __init__(self): Base.__init__(self) print('A.__init__') class B(Base): def __init__(self): Base.__init__(self) print('B.__init__') class C(A,B): def __init__(self):


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3