Python 类或实例是否在元类中?
我得到这个输出:Python 类或实例是否在元类中?,python,instance,metaclass,Python,Instance,Metaclass,我得到这个输出: from time import ctime import inspect class MetaC(type): def __init__(cls,name,bases,attrd): print isinstance(cls,MetaC) print inspect.isclass(cls) super(MetaC,cls).__init__(name,bases,attrd) print "careated %s" %ct
from time import ctime
import inspect
class MetaC(type):
def __init__(cls,name,bases,attrd):
print isinstance(cls,MetaC)
print inspect.isclass(cls)
super(MetaC,cls).__init__(name,bases,attrd)
print "careated %s" %ctime()
class Foo(object):
__metaclass__=MetaC
def __init__(self):
print "i am here "
MetaC
类\uuuu init\uuu
方法中的参数(cls
)
是
cls
类还是实例
?cls
既是类又是实例。一个类仅仅是一个元类的实例
True
True
careated Fri Feb 8 12:33:32 2013
>类元(类型):
... 定义初始值(cls、名称、基数、属性):
... 打印“cls:”,cls
... 打印“cls是MetaC:”的实例,isinstance(cls,MetaC)
...
>>>C类(对象):
... __元类\元=元
...
cls:
cls是MetaC的实例:True
>>> class MetaC(type):
... def __init__(cls, name, bases, attrs):
... print 'cls: ', cls
... print 'cls is instance of MetaC: ', isinstance(cls, MetaC)
...
>>> class C(object):
... __metaclass__ = MetaC
...
cls: <class '__main__.C'>
cls is instance of MetaC: True