meta1.py:
from time import ctime
print '*** Welcome to Metaclass'
print'\tMetaclass declaration first.'
class MetaC(type):
def __init__(cls,name,bases,attrd):
super(MetaC,cls).__init__(name,bases,attrd)
print '***Created class %r at: %s' %(name,ctime())
print '\tClass "Foo" declaration next.'
class Foo(object):
__metaclass__=MetaC
def __init__(self):
print '***Instantiated class %r at: %s' %(
self.__class__.__name__,ctime())
print '\tClass "Foo" instantiation next.'
f=Foo()
print '\tDone'
>>> *** Welcome to Metaclass
Metaclass declaration first.
Class "Foo" declaration next.
***Created class 'Foo' at: Mon Dec 17 18:50:19 2012
Class "Foo" instantiation next.
***Instantiated class 'Foo' at: Mon Dec 17 18:50:19 2012
Done