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