In Python, classes are themselves objects. Just as other objects are instances of a particular class, classes themselves are instances of a metaclass. The Pep 3115 defines the changes to python 3 metaclasses. In python3 you have a method __prepare__ that is called in the metaclass to create a dictionary or other class to store the class members.[1] Then there is the __new__ method that is called t