Our initial developerWorks article on metaclass programming
prompted quite a bit of feedback, some of it from perplexed
readers still trying to grasp the subtleties of Python
metaclasses. This article revisits the working of
metaclasses and their relation to other OOP concepts. We
contrast class instantiation with inheritance, distinguish
classmethods and metamethods, and explain and solve metaclass
conflicts.