Raymond Hettinger wrote:
Every class in the MRO implementing the target method *must* call super() to give the next class in the MRO a chance to run.
EXCEPT for the last one, which must NOT call super! The posted example happens to work because object has a default __init__ method that does nothing. But this is not generally true of other methods, which means you need a "terminating" class at the end of the MRO whose methods don't call super. -- Greg -- http://mail.python.org/mailman/listinfo/python-list