I have a series of subclasses like this: class A(object): def method(self, *args): print "Lots of work gets done here in the base class"
class B(A): def method(self, *args): print "A little bit of work gets done in B" super(B, self).method(*args) class C(B): def method(self, *args): print "A little bit of work gets done in C" super(C, self).method(*args) However, the work done in C.method() makes the work done in B.method() obsolete: I want one to run, or the other, but not both. C does need to inherit from B, for the sake of the other methods, so I want C.method() *only* to skip B while still inheriting from A. (All other methods have to inherit from B as normal.) So what I have done is change the call to super in C to super(B, self) instead of super(C, self). It seems to work, but is this safe to do? Or are there strange side-effects I haven't seen yet? -- Steven -- http://mail.python.org/mailman/listinfo/python-list