super()详解

Posted demiao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了super()详解相关的知识,希望对你有一定的参考价值。

第十一章、super()详解

一、引出super()来由

原始用法:

在python类的方法中,要调用父类的某个方法,通常是类.方法()

使用非绑定的类方法(用类名来引用的方法),并在参数列表引入待绑定的对象self,达到调用父类方法的目的。

缺点:

这样做的缺点是,当一个子类的父类发生变化时(如类B的父类由A变为C时),必须遍历整个类定义,把所有的通过非绑定的方法的类名全部替换过来

如果代码简单,这样的改动或许还可以接受。但如果代码量庞大,这样的修改可能是灾难性的。

解决方案:

于是,python加入了super关键字

class A(object):    # A must be new-style class
  def __init__(self):
   print "enter A"
   print "leave A"

class B(C):     # A --> C
  def __init__(self):
   print "enter B"
   super(B, self).__init__()
   print "leave B"

以上是关于super()详解的主要内容,如果未能解决你的问题,请参考以下文章

jQuery第十一章

第十一章

第十一章 网络编程

java类包第十一章

HTML 第十一章总结

第十一章 线程