W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
isinstance()
? 函數(shù)來判斷一個對象是否是一個已知的類型,類似 ?type()
?。
?isinstance()
?函數(shù)在使用時需要有一個已知類型的對象作為比較,比如要判斷一個對象是不是列表,你需要傳入一個列表對象
?isinstance()
?與?type()
? 區(qū)別:?type()
?不會認為子類是一種父類類型,不考慮繼承關系。?isinstance()
?會認為子類是一種父類類型,考慮繼承關系。如果要判斷兩個類型是否相同推薦使用?isinstance()
?。
以下是 ?isinstance()
?方法的語法:
isinstance(object, classinfo)
在python3.10中,可以classinfo使用聯(lián)合類型(union類型)
如果對象的類型與參數(shù)二的類型(classinfo)相同則返回 True,否則返回 False。
以下展示了使用 isinstance 函數(shù)的實例:
>>>a = 2
>>> isinstance (a,int)
True
>>> isinstance (a,str)
False
>>> isinstance (a,(str,int,list)) # 是元組中的一個返回 True
True
type() 與 isinstance() 的區(qū)別:
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
對于基本類型來說,classinfo 可以是:
int,float,bool,complex,str(字符串),list,dict(字典),set,tuple
要注意的是,classinfo 的字符串是 str 而不是 string,字典也是簡寫 dict。
實例:
arg=123
isinstance(arg, int) #輸出True
isinstance(arg, str) #輸出False
isinstance(arg, string) #報錯
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: