Python 什么';这些调用超类的方法有什么不同;谁的构造函数?

Python 什么';这些调用超类的方法有什么不同;谁的构造函数?,python,inheritance,Python,Inheritance,如果调用超类初始化函数的以下用法之间有什么重要区别呢 class Child_1(Parent): def __init__(self): super(Child, self).__init__() class Child_2(Parent): def __init__(self): super(Parent, self).__init__() class Child_3(Parent): def __init__(self):

如果调用超类初始化函数的以下用法之间有什么重要区别呢

class Child_1(Parent):
    def __init__(self):
        super(Child, self).__init__()

class Child_2(Parent):
    def __init__(self):
        super(Parent, self).__init__()

class Child_3(Parent):
    def __init__(self):
        Parent.__init__(self)
第一种形式(尽管你在调用super时会修正拼写错误并使其成为Child_1)是你通常想要的。这将在继承层次结构中查找正确的方法

对于第二种形式,您正在寻找实现此方法的父类的父类,并且您必须有一个非常特殊的用例(如果您想跳过父类,不要从父类派生)才能做到这一点

在许多情况下,第三个会和第一个做相同的事情,尽管没有看到父级的代码,很难确定。与第三种方法相比,第一种方法的优点是您可以更改子方法的基类,并且仍然会调用正确的方法


此外,第一种形式允许协作多重继承。请查看或理解这些情况是否有用或必要。

这些不是继承不涉及的元类。我该如何称呼这个问题?