**:
學習python的同學都知道這麼幾句話
那麼type和object是什麼關係呢?
object是乙個新式類,我們可以通過object.__class__
和object.__bases__
來獲取object所屬的類核他的父類。
>>> object.__class__
這說明 object類是乙個type元類的例項。這與type是所有新式類的類這一說法相符合。
>>> object.__bases__
()
這說明 object類已經處於繼承鏈條的頂端,是所有類的父類。
>>> type.__class__
這說明type自身的類就是type。就是說type元類也就是由type自身建立的。
>>> type.__base__
這就是說type這一元類的父類是object。
我們來捋一捋,也就是說:
object類是由元類type建立的,但是type類又繼承了object類。 type元類的類則是由type元類自身建立的。
我們把python中的內建類和使用者建立的內納入其中,我們就可以畫出一下關係圖
簡單說明一下出了type和object關係的其他部分。
int、float、str、boolean、tuple、dict、set等內建的資料型別其實也就是內建的類。
type是乙個比較特殊的類,他是所有類的類。所以估計要與int等這種類保持一致,所以也是小寫的?
我們日常在程式中建立的具體的整數, 浮點數、字典、元祖等就是上面int、float、boolean等的例項。
我們寫**的建立的自定義類分兩種,一種是新式類,一種是經典類。
新式類的類都是type,它的最終父類是object。
經典類的建立者,也是是經典類的類是乙個叫classobj的東西,classobj的類才是type。
以上文字僅基於自己的理解。有錯誤還請指正。
python中type和isinstance的使用
a1 1,2 print type a1 class a 建立乙個空類 pass 代表空行,讓編譯器不報錯 a a 建立乙個物件 print type a class b a 建立乙個類b,繼承自類a pass 空行,沒有實際意義,僅僅讓編譯器不報錯 b b 建立乙個類b的物件 print type...
Python中type和isinstance的區別
在python中,我們經常通過type和isinstance來判斷某個物件的型別,下面我們通過乙個簡單的例子來分析2個方法的區別 class animal object def init self,name self.name name class dog animal def init self,...
python中的type 函式
type 是乙個內建函式,可以很方便地查詢物件資料型別 主要有兩種用法 乙個引數和三個引數 1 只使用乙個引數 print type 1 輸出 print typr str 輸出2 使用三個引數 classx object a 1x type x object,dict a 1 產生乙個新的型別 x...