isinstance() 函式來判斷乙個物件是否是乙個已知的型別,類似 type()。
isinstance() 與 type() 區別:
type() 不會認為子類是一種父類型別,不考慮繼承關係。
isinstance() 會認為子類是一種父類型別,考慮繼承關係。
如果要判斷兩個型別是否相同推薦使用 isinstance()。
以下是 isinstance() 方法的語法:
isinstance(object, classinfo)
object -- 例項物件。
classinfo -- 可以是直接或間接類名、基本型別或者有它們組成的元組。
如果物件的型別與引數二的型別(classinfo)相同則返回 true,否則返回 false。。
以下展示了使用 isinstance 函式的例項:
>>>a = 2
>>> isinstance (a,int)
true
>>> isinstance (a,str)
false
>>> isinstance (a,(str,int,list)) # 是元組中的乙個返回 true
true
class a:
pass
class b(a):
pass
isinstance(a(), a) # returns true
type(a()) == a # returns true
isinstance(b(), a) # returns true
type(b()) == a # returns false
python的type和isinstance的區別
type可以獲取乙個物件的型別,isinstance可以判斷乙個物件是否是某個型別。但是最大的區別是 isinstance會認為子類是一種父類型別 比如如下 isinstance 會認為子類是一種父類型別 coding utf 8 class basecls pass class testcls b...
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,...