isinstance是Python的一个内建函数
语法:
1
|
isinstance ( object ,classinfo) |
如果参数object是classinfo的实例,或者object是classinfo类的子类的一个实例,返回True。如果object不是一个给定类型的对象,则返回结果是False
如果classinfo不表示一个类(类型对象),那么它要么是一个类的元组,或者递归地包含这样的(由数据类型构成的)元组,其它的序列类型是不被允许的。
如果classinfo不是一种数据类型或者由数据类型构成的元组,将引发一个TypeError异常。
应用:
1
2
3
4
5
6
7
8
9
10
11
|
class ObjB: pass A = 'a' , 'v' B = ObjB() print ( isinstance ( 1 , int )) # True print ( isinstance ( 'a' , str )) # True print ( isinstance ( 1.0 , float )) # True print ( isinstance (A, tuple )) # True print ( isinstance (B,ObjB)) # True print ( isinstance ( 'a' ,( str , int , float ))) # True print ( isinstance ( 'a' , 'b' )) # 抛出异常TypeError: isinstance() arg 2 must be a type or tuple of types |