第一种比较普遍的方式:
1 class Work():2 def __init__(self,name):3 self.name = name4 5 w = Work('well woker')
这样就简单创建了一个类,分别打印w的类型和Work的类型
1 print(type(w)) #2 print(type(Work)) #
这就说明type也是一个类,并且是类的类,称为元类,元类就是创建类的类 。
第二种创建类的方式:
用type动态创建类,type有一个方法:type(类名,父类名,方法名(字典形式))用来动态创建类
三个参数的具体内容:
1. 第一个参数: 要创建的class的名称
2. 第二个参数: 继承的父类集合,Python支持多重继承,如果只有一个父类,写(obj,);
3. 第三个参数: class的方法名字典,字典内容为'类里面方法名称' : '写好的函数名称' 创建之后使用类方法名称调用
例子:
1 def func(self): #第一个方法 2 print('hello %s' % self.name) 3 4 def __init__(self,name,age): #初始化方法 5 self.name = name 6 self.age = age 7 8 #type('叫什么类','继承谁','里面有什么方法') 9 10 Foo = type('Foo',(object,),{ 'eat':func,11 '__init__':__init__12 }) 13 14 f = Foo('周润发','20')15 f.talk()16 print(type(Foo))
上面的例子就等同于第一种普通创建类的方式,这里就不赘述了。