从父类调用 super

我正在查看父类调用的代码super:


class ParentClass:

    def __init__(self):

        super(ParentClass, self).__init__()

我不明白为什么有人会自己调用 super 以及这怎么不会卡在递归循环中。我缺少 Python 机制的背景吗?


子衿沉夜
浏览 61回答 1
1回答

桃花长相依

在 python 中,所有类都是隐式的子类object。super将始终遵循方法解析顺序( mro) 来确定调用哪个函数。这在 中得到了很好的解释super docs。所以,对于像这样的类——class ParentClass:     def __init__(self):             super(ParentClass, self).__init__()以下mro- ParentClass->object这意味着super(ParentClass, self)(或简写super())转换为object并且object.__init__()确实是一个非常有效的调用。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python