Python多继承super只引用第一个父类

 

class Animal:
    def __init__(self):
        print("in parent")

class Animal2:
    def __init__(self):
        print("in parent2")

class Dog(Animal2, Animal):
    def __init__(self):
        super().__init__()
        print("in dog")


d = Dog()

如上代码,控制台打印:

in parent2
in dog

 

如果Dog声明为

class Dog(Animal, Animal2):

那么控制台打印:

in parent
in dog

 

可见,多重继承情况下,super只会引用第一个父类的__init__方法

 

相关文章:

  • 2021-05-14
  • 2022-12-23
  • 2021-11-15
  • 2022-01-14
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-04-19
猜你喜欢
  • 2021-12-26
  • 2021-12-21
  • 2022-12-23
  • 2021-06-26
  • 2021-06-08
  • 2021-11-20
相关资源
相似解决方案