Python determines the MRO (or method resolution order) of all new style classes at definition time. Here is an overview with diagrams of the C3 algorithm defined in the first link. I think this is useful for the curious, but burried inside a longer article and so may be harder to find.