operator overloading methodssupermeta' __call__ is then acquired by spamcausing spam instance creation calls to fail before any instance is ever created subtle but truehere' an illustration of the issue in simpler terms-- normal superclass is skipped for built-insbut not for explicit fetches and callsthe latter relying on normal attribute name inheritanceclass supermeta(type)def __call__(metaclassnamesupersclassdict)by namenot built-in print('in supermeta call:'classnamereturn type __call__(metaclassnamesupersclassdictclass submeta(supermeta)def __init__(classclassnamesupersclassdict)print('in submeta init:'classnamecreated by type default overrides type __init__ print(submeta __class__print([ __name__ for in submeta __mro__]print(print(submeta __call__not data descriptor if found by name print(submeta __call__(submeta'xxx'(){}explicit calls workclass inheritance print(submeta('yyy'(){}but implicit built-in calls do nottype :\codepy - metaclass py ['submeta''supermeta''type''object'in supermeta callxxx in submeta initxxx in submeta inityyy of coursethis specific example is special casecatching built-in run on metaclassa likely rare usage related to __call__ here but it underscores core asymmetry and apparent inconsistencynormal attribute inheritance is not fully used for built-in dispatch --for both instances and classes to truly understand this example' subtletiesthoughwe need to get more formal about what metaclasses mean for python name resolution in general inheritance and instance because metaclasses are specified in similar ways to inheritance superclassesthey can be bit confusing at first glance few key points should help summarize and clarify the model metaclasses