参考了这篇博客打了一遍:Python - 对多继承以及super的一些了解
class D(object):
def foo(self):
print "class D"
class B(D):
pass
class C(D):
def foo(self):
print "class C"
class A(B, C):
pass
f = A()
f.foo()
====
output: class C
如果把 class D(object) 改成 class D:
class D:
def foo(self):
print "class D"
class B(D):
pass
class C(D):
def foo(self):
print "class C"
class A(B, C):
pass
f = A()
f.foo()
=====
output: class D
补充了下多继承的情况:
class B:
def foo(self):
print "class b"
class C:
def foo(self):
print "class C"
class A(B, C):

本文探讨了Python中的多继承特性,通过实例展示了不同继承结构下的初始化行为。文章中提到了在多继承中使用super()的注意事项,并分析了当改变继承顺序时引发的参数错误。
最低0.47元/天 解锁文章
862

被折叠的 条评论
为什么被折叠?



