已知__class__
是实例对象的属性,代表其所属的类。我们现在执行一段代码:
class A:
pass
a = A()
print(a.__class__)
b =20
print(b.__class__)
c = 'xxx'
print(c.__class__)
结果为
<class '__main__.A'>
<class 'int'>
<class 'str'>
即,我们打印出了这3个实例对应的类。
那么,python中万物皆对象,类是否也是一个被创建出的对象呢?我们增加两行代码
print(A.__class__)
print(type.__class__)
结果为
<class 'type'>
<class 'type'>
由第一行,可以看出类也是由另一个类创建出来的,这个类叫做type
,被我们称为元类
由第二行,我们想要查看元类type
是由什么创建出来的,由执行结果,依然是type
,即元类就是创建一切类的类