奇怪的继承

python2中才有经典类,没有继承object的类都是经典类。
python3中都是新式类,继承object类的都是新式类,py3中默认继承object类。

Python3中的继承

钻石继承

1
2
3
4
5
6
graph TD
A-->|B继承A| B
A-->|C继承A| C
B-->|D继承B| D
C-->|D继承B| D
F[钻石继承]
1
2
3
4
5
6
7
8
9
10
class A:
def h(self):print('a')
class B(A):
def h(self):print('b')
class C(A):
def h(self):print('c')
class D(B,C):
def h(self):print('d')
d = D()
d.h()
阅读更多