__mro__ (what if you must use class that doesn' call superclass bdef __init__(self)print(' __init__'class (bc)def __init__(self)print(' __init__')super(__init__( ( __init__ __init__ it' an all-or-nothing tool satisfying this mandatory propagation requirement may be no simpler than direct byname calls--which you might still forgetbut which you won' need to require of all the code your classes employ as mentionedit' possible to adapt class like by inheriting from proxy class that embeds instancesbut that seems artificial to program goalsadds an extra call to each wrapped methodis subject to the new-style class problems we met earlier regarding interface proxies and built-insand seems an extraordinary and even stunning added coding requirement inherent in model intended to simplify code flexibilitycall ordering assumptions routing with super also assumes that you really mean to pass method calls throughout all your classes per the mrowhich may or may not match your call ordering requirements for exampleimagine that--irrespective of other inheritance ordering needs-the following requires that the class ' version of given method be run before ' in some contexts if the mro says otherwiseyou're back to traditional callswhich may conflict with super usage--in the followinginvoking ' method twicewhat if method call ordering needs differ from the mroclass bdef __init__(self)print(' __init__')super(__init__(class cdef __init__(self)print(' __init__')super(__init__(class (bc)def __init__(self)print(' __init__') __init__(self) __init__(selfx ( __init__ __init__ __init__ __init__ it' the mro xor explicit calls similarlyif you want some methods to not run at allthe super automatic path won' apply as directly as explicit calls mayand will make it difficult to take more explicit control of the dispatch process in realistic programs with many methodsresourcesand state variablesthese seem entirely plausible scenarios while you could reorder superclasses in for this methodthat may break other expectations the super built-in functionfor better or worse