刚刚在写python遇到一个奇妙的问题,然后查了半天才搞懂。
在写多重继承的时候,如果两个父类A,B都有成员需要继承,用super会出错,只能用两个__init__()方法
例如:
class A():
def __init__(self,a):
self.a = a
def cout(self):
print(self.a)
class B():
def __init__(self,b)
self.b = b
def cout(self):
print(self.b)
class C(A,B):
def __init__(self,a,b,c)
A.__init__(self,a)
B.__init__(self,b)
self.c = c
def cout(self):
print(self.c)
如果用
class C(A,B):
def __init__(self,a,b,c)
super(A,B,self).__init__(a,b)
将会出错。
这里写的只是鄙人在学习python过程中遇到的问题,并不代表是一个很好的方法,如果大家有更好的方法,请评论一下,让我也学习学习。谢谢!