class M3(M1, M2):

    def __new__(meta, name, bases, atts):
        print('M3 called for ' + name)
return super(M3, meta).__new__(meta, name, bases, atts)


class C3(C1, C2, metaclass=M3):
    pass
type(C3)
Customary To Inherit Metaclasses From type?