isinstance()函数是python内置函数,用来判断一个对象是否是一个已知的类型,类似type()。
语法
isinstance(object, classinfo)
参数
object——实例对象
classinfo——可以是直接或间接类名、基本类型或者由他们组成的元组。
返回值
如果对象类型与参数二的类型(classinfo)相同则返回True,否则返回Fals。
实例:
>>> a = 2 >>> isinstance(a, int) True >>> isinstance(a, str) False >>> isinstance(a, (int, str, bool)) True >>>
isinstance()与type()的区别
isinstance() 会认为子类是一种父类类型,考虑继承关系。
type() 不会认为子类是一种父类类型,不考虑继承关系。
如果要考虑两个类型是否相同,推荐使用isinstance()。
实例:
>>> class A: pass >>> class B(A): pass >>> isinstance(A(), A) True >>> type(A()) == A True >>> isinstance(B(), A) True >>> type(B()) == A False >>>