python继承中父类和子类可以相同吗?

Lak*_*ang 1 python oop inheritance class

在python继承中,我们通常可以将父类的属性继承给子类。但是,我不明白在同一个类中继承的想法。这是什么意思?

class MyParentClass():
    def __init__(self):
        super(MyParentClass, self).__init__()
Run Code Online (Sandbox Code Playgroud)

Mad*_*ist 5

python 2.6 及更高版本中的每个类都继承自object,除非另有明确说明,因此class MyParentClass():相当于class MyParentClass(object). 正常情况下,super调用的是访问object.__init__

在不太正常的情况下,MyParentClass可能是 mixin。这是一个参与多重继承的类,其方式是向子级添加功能,而不是主继承链的一部分。在这种情况下,super指的是 MRO 中的一些未知基类。在这种情况下,您想要调用未知__init__方法的原因是继续调用链__init__一直到基类。

  • 我认为现在的答案没有用。*似乎*(是的,还有一个问题是问题不完全清楚)OP对指同一个类的“super”感到困惑,这个答案根本没有解决这个问题。相反,它指的是“超级”的各种琐事,这些琐事并没有错,但不太可能帮助解决最初的困惑。 (3认同)