【发布时间】:2025-12-04 10:40:02
【问题描述】:
关于多父继承,当我调用super.__init__时,为什么没有调用parent2的__init__函数?谢谢。
class parent(object):
var1=1
var2=2
def __init__(self,x=1,y=2):
self.var1=x
self.var2=y
class parent2(object):
var4=11
var5=12
def __init__(self,x=3,y=4):
self.var4=x
self.var5=y
def parprint(self):
print self.var4
print self.var5
class child(parent, parent2):
var3=5
def __init__(self,x,y):
super(child, self).__init__(x,y)
childobject = child(9,10)
print childobject.var1
print childobject.var2
print childobject.var3
childobject.parprint()
输出是
9
10
5
11
12
【问题讨论】:
-
旁注:rhettinger.wordpress.com/2011/05/26/super-considered-super 很好地解释了
super,并展示了它如何与多重继承发挥良好的作用。 -
PleaseCapitalizeClassNames
标签: python oop inheritance init super