python-判斷變數是否為指定型別-isinstance() 函式
阿新 • • 發佈:2018-12-09
0.摘要
type()函式可以返回變數型別,但卻不能直接判斷是否為我們想要的型別。
本文主要介紹isinstance() 函式,通過這一函式,可以判斷變數是否為字串,int,list等。
1.isinstance() 函式
isinstance()函式結構:
isinstance(x, (A,B,……))
x :需要判斷的變數
(A,B,……):備選的變數型別,可以是一個元素,也可以是一個元組。如果是元素,只要變數型別與元組中任意一個匹配,返回值即為真。
函式應用例項:
import numpy as np s = "hello,world" print(isinstance(s,str)) #result:True a = np.arange(10) print(isinstance(a,np.ndarray)) #result:True b = [1,2,3,4,5] print(isinstance(b,(int,str))) #result:False print(isinstance(b,(int,str,list))) #result:True
2.isinstance() 函式與type()的區別
(1)從上面可以看出, isinstance()能夠直接進行型別判斷,type()需要返回資料型別之後,再借助其他函式進行判斷。
(2)對於繼承型別判斷,isinstance()與type()也有所不同:
-
type() 不會認為子類是一種父類型別,不考慮繼承關係。
-
isinstance() 會認為子類是一種父類型別,考慮繼承關係。