1. 程式人生 > >python-判斷變數是否為指定型別-isinstance() 函式

python-判斷變數是否為指定型別-isinstance() 函式

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() 會認為子類是一種父類型別,考慮繼承關係。