super()的好处

在使用多继承过程中,有三种多继承方式:

  1. parent.test()
  2. super().test()
  3. super(grandfather,self)
    区别在于,如果出现多层继承,在使用父类名称.方法的过程中,父类会被多次调用,浪费内存。
    如果使用super() ,父类只会调用一次,并且通过 类.mro(C3方法)这个方法可以查询调用顺序,此时会调用该类的下一个次序的类
    例如:
    [gradefather, father, son1 ,son2]
    调用super(father,self)时会调用son1这个类
发布了14 篇原创文章 · 获赞 0 · 访问量 788

猜你喜欢

转载自blog.csdn.net/heixue666/article/details/91050082