元类——用来创建这些类(类也是一个对象),元类就是类的类。
MyClass = MetaClass() #使用元类创建出一个对象,这个对象称为“类”
MyObject = MyClass() #使用“类”来创建出实例对象
动态创建类
type(className,,(继承的类),{类的属性或方法})
#添加类属性
p = type("Person", (), {name:"laowang"})
#添加类方法
def printName(self):
print("name is %s"%self.name)
p = type("Person", (), {"name":"laowang", "printName":printName})
#添加继承类
class Person(object):
def eat(self):
print("-----eat-----")
class Teacher(Person):
pass
Student = type("Student", (Person,), {})