通过以下定义可以很好地理解super的机制

def super(cls, inst):
    mro = inst.__class__.mro()
    return mro[mro.index(cls) + 1]
  • 通过inst生成MRO的list
  • 通过cls定位当前MRO的index,并返回mor[index +1]

不要一说到 super 就想到父类!super 指的是 MRO 中的下一个类!
参考文章https://laike9m.com/blog/li-jie-python-super,70/

最后由 oucb 编辑于2016年05月09日 16:42