Python3 - 在被覆盖的方法中使用 `super` 是如何工作的(更多内容在 body 中)

Python3 - How does using `super` inside a method being overridden works (more in body)

有如下所示的class结构:

class RegressionResults(LikelihoodModelResults):
    ...
    ...
    def conf_int(self, alpha=.05, cols=None):
        ci = super(RegressionResults, self).conf_int(alpha=alpha, cols=cols)
        return ci

这里是 LikelihoodModelResults:

class LikelihoodModelResults(Results):
    ...
    ...
    def conf_int(self, alpha=.05, cols=None):
    ...
    ...

并且 class Results 没有名为 conf_int 的方法。

鉴于 classes 的这种结构和继承,我想知道在 RegressionResults 的实例上调用 conf_int 时会发生什么。 LikelihoodModelResultsconf_int 里面的代码会是 运行 吗?如果是,为什么还要尝试覆盖它?

对不起,如果我对问题的标题含糊不清,如果你有更好的标题,你可以自由编辑它。以上 classes 的来源是 RegressionResults, LikelihoodModelResults.

就代码而言,被覆盖的方法没有做任何额外的事情,所以你是对的,覆盖似乎是多余的。但是,在原始来源中,它有一个很大的文档字符串,然后在方法主体中有这个注释:

# keep method for docstring for now

所以我假设覆盖是出于文档目的而不是机械目的。