python - How to call super method? -
i working code has 3 levels of class inheritance. lowest level derived class, syntax calling method 2 levels hierarchy, e.g. super.super call? "middle" class not implement method need call.
well, 1 way of doing it:
class grandparent(object): def my_method(self): print "grandparent" class parent(grandparent): def my_method(self): print "parent" class child(parent): def my_method(self): print "hello grandparent" grandparent.my_method(self) maybe not want, it's best python has unless i'm mistaken. you're asking sounds anti-pythonic , you'd have explain why you're doing give happy python way of doing things.
another example, maybe want (from comments):
class grandparent(object): def my_method(self): print "grandparent" class parent(grandparent): def some_other_method(self): print "parent" class child(parent): def my_method(self): print "hello grandparent" super(child, self).my_method() as can see, parent doesn't implement my_method child can still use super @ method parent "sees", i.e. grandparent's my_method.
Comments
Post a Comment