我有一个这样的代码
class a(object):
def __init__(self, x, y):
self.x=x
self.y=y
super(a, self).__init__()
def displayA(self):
print self.x
print self.y
class b(object):
def __init__(self, name):
self.name=name
super(b, self).__init__()
def displayB(self):
print self.name
class c(a,b):
def __init__(self, p,x,y,name):
self.p = p
b.name=name #**this line confuses me**
super(c,self).__init__(x,y)
def displayC(self):
print self.p
v = c(10, 12, 78, 'abc')
v.displayC()
v.displayA()
v.displayB()
我想通过子类c初始化不同类(a和b)的数据成员,但是super()只访问a类,但不知何故我可以像cb.name=name
的init()一样初始化b类数据成员,然后我可以传递对象中的参数。我的问题是,如果我不这样做,我就不能在 c 的对象中传递参数。帮我!