Same way as classes control instance creation and let us define instance behaviour in the form of instance methods and magic methods, metaclasses in Python can do all that and a little more for class objects. The simplest way to deal with metaclasses is to think of them as of classes of classes.

Read more...