第一種比較廣泛的方式:函數
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))
上面的例子就等同於第一種普通建立類的方式,這裏就不贅述了。