函数原型如下:
super([type[,object-or-type]])
super函数返回一个代理对象,用于调用type的父类或兄弟类中的方法。
talk is cheap.
- 先来看调用父类中的方法
class B: def method(self): print('metho in B {0!r}'.format(self)) class C(B): def method(self): print('metho in C {0!r}'.format(self)) super(C, self).method() if __name__ == "__main__": c = C() c.method() 程序输出: metho in C <main.C object at 0x00519CB0> metho in B <main.C object at 0x00519CB0>
从python3开始,super可以没有参数,没有参数和上面的super(C,self)等价。这个例子说明super可以用于调用父类的方法。
- 再来看调用兄弟类中的方法
class