學習python的同窗都知道這麼幾句話python
object類是全部新式類的父類。學習
type是全部類的類。spa
那麼type和object是什麼關係呢?
object是一個新式類,咱們能夠經過object.__class__
和object.__bases__
來獲取object所屬的類核他的父類。code
>>> object.__class__ <type 'type'>
這說明 object類是一個type元類的實例。這與type是全部新式類的類這一說法相符合。blog
>>> object.__bases__ ()
這說明 object類已經處於繼承鏈條的頂端,是全部類的父類。繼承
>>> type.__class__ <type 'type'>
這說明type自身的類就是type。就是說type元類也就是由type自身建立的。圖片
>>> type.__base__ <type 'object'>
這就是說type這一元類的父類是object。it
咱們來捋一捋,也就是說:
object類是由元類type建立的,可是type類又繼承了object類。 type元類的類則是由type元類自身建立的。class
咱們把python中的內置類和用戶建立的內歸入其中,咱們就能夠畫出一下關係圖
object
簡單說明一下出了type和object關係的其餘部分。
int、float、str、boolean、tuple、dict、set等內置的數據類型其實也就是內置的類。
type是一個比較特殊的類,他是全部類的類。因此估計要與int等這種類保持一致,因此也是小寫的?
咱們平常在程序中建立的具體的整數, 浮點數、字典、元祖等就是上面int、float、boolean等的實例。
咱們寫代碼的建立的自定義類分兩種,一種是新式類,一種是經典類。
新式類的類都是type,它的最終父類是object。
經典類的建立者,也是是經典類的類是一個叫classobj的東西,classobj的類纔是type。
以上文字僅基於本身的理解。有錯誤還請指正。