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() 会认为子类是一种父类类型,考虑继承关系。