我有三个班级,如下所示:
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)
我实例化一个ReportingPage
对象。为此,Python抓取了MRO:
Page
首先调用该对象,因为该对象在的继承列表中排在第一位,并在ReportingPage
其中调用其自己的__init__
方法。
然后,它对做同样的事情Report
。
我不明白的两件事:
为什么我必须将参数传递给super.__init__
in Page
,何时Page
仅调用__init__
其继承自的内容object
。
为什么我不必做同样的事情Report
。
相关分类