__metaclass__ in Python 3
Python 3 changed how you specify a metaclass, __metaclass__ is no longer checked. Use metaclass=… in the class signature: class Table(object, metaclass=MetaTable): Demo: >>> class MetaTable(type): … def __getattr__(cls, key): … temp = key.split(“__”) … name = temp[0] … alias = None … if len(temp) > 1: … alias = temp[1] … return cls(name, alias) … Read more