只爱整活周淑怡 发表于 2020-8-13 10:52:39

38讲的第五、六问

class A():
    def __init__(self):
      print("进入A…")
      print("离开A…")

class B(A):
    def __init__(self):
      print("进入B…")
      super().__init__()
      print("离开B…")
      
class C(A):
    def __init__(self):
      print("进入C…")
      super().__init__()
      print("离开C…")

class D(B, C):
    def __init__(self):
      print("进入D…")
      super().__init__()
      print("离开D…")

>>> d = D()
进入D…
进入B…
进入C…
进入A…
离开A…
离开C…
离开B…
离开D…

为什么super()函数能够规避进入两次A的这种情况???

sunrise085 发表于 2020-8-13 11:25:17

本帖最后由 sunrise085 于 2020-8-13 11:26 编辑

看看我的这个精华帖:Python细节之6、类的多继承中super函数的调用顺序
页: [1]
查看完整版本: 38讲的第五、六问