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

关于python中super类的问题?

关于python中super类的问题?

幕布斯7119047 2018-07-18 14:13:44
在class CounterList(list):def __init__(self,*args):super().__init__(*args)self.counter=0def __getitem__(self,index):self.counter+=1return super(CounterList,self).__getitem__(index)中,为什么最后一句调用超类CounterList而不是类List?
查看完整描述

1 回答

?
慕尼黑8549860

TA贡献1818条经验 获得超11个赞

super 是用来解决多重继承问题的,直接用类名调用父类方法在使用单继承的时候没问题,但是如果使用多继承,会涉及到查找顺序(MRO)、重复调用(钻石继承)等种种问题。总之前人留下的经验就是:保持一致性。要不全部用类名调用父类,要不就全部用 super,不要一半一半。

查看完整回答
反对 回复 2018-07-29
  • 1 回答
  • 0 关注
  • 877 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信