type()
type函数即可返回一个对象的类型,也可动态地创建一个新的类。如:
第一个参数是类名,第二个参数是类的父类,第三个参数是类中的属性——以字典的形式传入。整句话执行结束后,就相当于创建了一个类名为Demo的类。
type()创建了一个类,并且使用变量d来作为类的引用。
可以看出在Python中,类也是对象,可以动态的创建类。这就是当你使用关键字class时Python在幕后做的事情,而这就是通过元类来实现的。
python中, 类也是一个对象,对象名就是类名,该对象拥有创建对象(类实例)的能力。做为一个变量,可以为它添加新的属性,可以将它赋值给另一个变量,也可以当作参数传递。如:
因为类也是对象,所以可以使用class关键字动态地创建它们。而元类就是创建类的类,它负责创建类,而由类创建类的实例。
元类就是类的类,它负责创建不同的类,而由不同的类创建不同的类实例。如下:
元类通过__new__方法操作新建成的类,比如添加方法以及添加属性等。
新建的类通过metaclass指定它对应的元类。
网友评论