09 Python两种创建类的方式

第一种比较普遍的方式:

1 class Work():
2     def __init__(self,name):
3         self.name = name
4 
5 w = Work('well woker')

这样就简单创建了一个类,分别打印w的类型和Work的类型

1 print(type(w))    #<class '__main__.Work'>
2 print(type(Work))  #<class 'type'>

  这就说明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))   

  上面的例子就等同于第一种普通创建类的方式,这里就不赘述了。

posted @ 2019-06-20 21:40  small_caier  阅读(630)  评论(0编辑  收藏  举报