- no super() method call to call to super-class (AFAIK)
In Python versions previous to 2.2, this could be done with the __bases__ attribute: ###
class Parent: ... def sayHello(self): ... print "hello" ... class Child(Parent): ... def sayHello(self): ... print "My mom says:", self.__class__.__bases__[0].sayHello(self) ... p, c = Parent(), Child() p.sayHello() hello c.sayHello() My mom says: hello ###
but as you can tell, this is really awkward! Multiple inheritance, combined with the dynamic features of Python (__getattr__/__setattr__), can complicate things. Python 2.2 has a new "super()" function that simplifies this a lot. With super(), the example above looks like: ### class Parent(object): def sayHello(self): print "Hello!" class Child(Parent): def sayHello(self): print "My mom says", super(Child, self).sayHello() ### See: http://www.python.org/doc/current/whatsnew/sect-rellinks.html for details on this new function. Hope this helps!