On 11 April 2013 07:43, Ulrich Eckhardt <ulrich.eckha...@dominolaser.com> wrote:
> The second question that came up was if there is a way to keep a metaclass > defined inside the class or if the only way is to provide it externally. Yes, using metaclasses! I wouldn't recommend it though. Here's a proof of concept: class MyType(type): def __new__(meta, name, bases, attrs): try: metaclass = attrs.pop('__metaclass__') except KeyError: return type.__new__(meta, name, bases, attrs) else: return metaclass(name, bases, attrs) class MyObject(metaclass=MyType): pass >>> class Test(MyObject): ... def __metaclass__(name, bases, attrs): ... print("Test metaclass") ... return MyType(name, bases, attrs) ... Test metaclass -- Arnaud -- http://mail.python.org/mailman/listinfo/python-list