在python中,我們經常通過type和isinstance來判斷某個物件的型別,下面我們通過乙個簡單的例子來分析2個方法的區別
class
animal
(object):
def__init__
(self,name)
: self.name = name
class
dog(animal)
:def
__init__
(self,name)
: self.name = name
dog = dog(
"dog1"
)print
(type
(dog))#
print
(type
(dog)
is dog)
# true
print
(type
(dog)
is animal)
# false
print
(isinstance
(dog,dog)
)# true
print
(isinstance
(dog,animal)
)# true
print
(isinstance
(dog,
(int
,animal)))
# true
print
(isinstance
(dog,
(int
,str))
)# false
總結:
type接受乙個物件,並且返回該物件的型別,isinstance需要傳入2個引數,第乙個為物件,第二個可以是乙個物件的型別,或者以元組的形式傳入多個物件型別,如果該物件為多個型別中的某乙個則返回true,如果都不是則返回false。並且isinstance可以判斷子類是父類的類型別,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和object的關係
學習python的同學都知道這麼幾句話 那麼type和object是什麼關係呢?object是乙個新式類,我們可以通過object.class 和object.bases 來獲取object所屬的類核他的父類。object.class 這說明 object類是乙個type元類的例項。這與type是所...
python中的type 函式
type 是乙個內建函式,可以很方便地查詢物件資料型別 主要有兩種用法 乙個引數和三個引數 1 只使用乙個引數 print type 1 輸出 print typr str 輸出2 使用三個引數 classx object a 1x type x object,dict a 1 產生乙個新的型別 x...