我有三个课程如下:
class Page(object):
def __init__(self, Obj_a, Obj_b):
super().__init__(Obj_a, Obj_b)
class Report(object):
def __init__(self, Obj_a, Obj_b):
super().__init__()
class ReportingPage(Page,Report):
def __init__(self, Obj_a, Obj_b):
super().__init__(Obj_a, Obj_b)
Run Code Online (Sandbox Code Playgroud)
我实例化一个ReportingPage对象.要做到这一点,Python爬行MRO:
Page首先调用该对象,因为它首先在继承列表中排序ReportingPage,然后调用它自己的__init__方法.
然后它也是这样做的Report.
我不明白的两件事:
为什么我必须将参数传递给super.__init__in Page,什么Page时候才会调用__init__它继承的内容,object.
为什么我不必为此做同样的事情Report.