简述
isinstance() 来判断一个对象是否是已知类型,类似type()
区别
type()不考虑继承关系,而isinstance()会考虑
语法
isinstance(object, classinfo)
object -- 实例对象
classinfo -- 可以是直接或间接类名、基本类型或者由它们组成的元组
e.g.
>>>a = 2
>>> isinstance (a,int)
True
>>> isinstance (a,str)
False
>>> isinstance (a,(str,int,list)) # 是元组中的一个返回 True
True
type() and isinstance()
class A:
pass
class B(A):
pass
isinstance(A(), A) # returns True
type(A()) == A # returns True
isinstance(B(), A) # returns True
type(B()) == A # returns False