为了账号安全,请及时绑定邮箱和手机立即绑定

在Python中使用super(),我不理解最后的__init__调用

在Python中使用super(),我不理解最后的__init__调用

www说 2021-03-30 12:22:27
我有三个班级,如下所示: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。
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 288 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号