如何让一个公共子类初始化它继承的所有父类?
class Mom(object):
def __init__(self):
print("Mom")
class Dad(object):
def __init__(self):
print("Dad")
class Child(Mom, Dad):
def __init__(self):
super(Child, self).__init__()
c = Child() #only prints Mom
答案 0 :(得分:5)
他们缺少合作子类化工作所需的super()
和Mom
类中的Dad
次调用。
class Mom(object):
def __init__(self):
super(Mom, self).__init__()
print("Mom")
class Dad(object):
def __init__(self):
super(Dad, self).__init__()
print("Dad")
class Child(Dad, Mom):
def __init__(self):
super(Child, self).__init__()
c = Child() # Mom, Dad
答案 1 :(得分:3)
您也需要在妈妈super
中致电__init__
。