在Python中,一切皆为对象。产生类的类称之为元类,默认所有用class定义的类,他们的元类都是type。
#! /usr/bin/python3.4
'''
这里的__new__参数:
1 当前准备创建的类的对象;
2 类的名字;
3 类继承的父类集合;
4 类的方法集合。
'''
class StudentMetaclass(type):
def __new__(cls,name,bases,attrs):
attrs[ 'myClass' ] = 5 #添加一个属于类的属性
return type.__new__(cls, name, bases, attrs)
class myStudent(metaclass = StudentMetaclass):
def __init__(self,name,num,year):
self.name = name
self.num = num
self.year = year
print("name: ",self.name,"id: ",self.num,"year: ",self.year)
#class myStudent(oneClass):pass
if __name__ == "__main__" :
a = myStudent("wang",1,21)
print("class:",myStudent.myClass)
结果: