09 Python兩種建立類的方式

第一種比較廣泛的方式:函數

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

這樣就簡單建立了一個類,分別打印w的類型和Work的類型spa

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

  這就說明type也是一個類,而且是類的類,稱爲元類,元類就是建立類的類 。code

第二種建立類的方式:blog

  用type動態建立類,type有一個方法:type(類名,父類名,方法名(字典形式))用來動態建立類繼承

  三個參數的具體內容:it

    1. 第一個參數: 要建立的class的名稱class

    2. 第二個參數: 繼承的父類集合,Python支持多重繼承,若是隻有一個父類,寫(obj,);object

    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))   

  上面的例子就等同於第一種普通建立類的方式,這裏就不贅述了。

相關文章
相關標籤/搜索