为客户网站做产品描述,好的作文网站,建设一个素材网站,做网站好做吗Python内置函数isinstance()函数介绍 isinstance() 函数是Python内置函数#xff0c;来判断一个对象是否是一个已知的类型#xff0c;返回值为布尔值True或False。其语法格式#xff1a;
isinstance(object, classinfo)
【官方说法https://docs.python.org/zh-cn/3/librar…Python内置函数isinstance()函数介绍 isinstance() 函数是Python内置函数来判断一个对象是否是一个已知的类型返回值为布尔值True或False。其语法格式
isinstance(object, classinfo)
【官方说法https://docs.python.org/zh-cn/3/library/functions.html#isinstance
如果 object 参数是 classinfo 参数的实例或其直接、间接或 virtual 子类的实例则返回 True。 如果 object 不是给定类型的对象则总是返回 False。如果 classinfo 是类型对象的元组或由该类元组递归生成或多个类型的 union 类型那么当 object 是其中任一类型的实例时就会返回 True。如果 classinfo 不是某个类型或类型元组将会触发 TypeError 异常。】
官方说法不好理解下面解说之。
参数
object -- 实例对象是要进行类型检查的对象。
classinfo -- 可以是直接或间接类名、基本类型或者由它们组成的元组。
对于基本类型来说 classinfo 可以是intfloatboolcomplexstr(字符串)listdict(字典)settuple。classinfo参数也可以接由多个类型对象组成的元组作为参数当classinfo参数为多个类型对象时isinstance()函数会逐一检查每个类型对象只要object属于其中任意一个类型就返回True。
a 2 isinstance (a,int)
True isinstance (a,str)
False isinstance (a,(str,int,list)) # 是元组中的一个返回 True
Trueisinstance()函数也可以用于判断一个对象是否为某个类或其子类的实例。
下面是用于类的情况
# isinstance()函数用于类的示例
class Animal:passclass Dog(Animal):passclass Cat(Animal):passdog Dog()
cat Cat()print(isinstance(dog, Dog)) # 返回True, dog是Dog类的实例
print(isinstance(cat, Animal)) # 返回True, cat是Animal类的子类Cat的实例
在上面的例子中isinstance()函数分别对dog和cat对象进行了类型检查传入的classinfo参数分别为Dog和Animal即可判断它们是否为这两个类的实例。 下面再给出一个用于类的例子
class A:passclass B(A):passclass C:passprint(isinstance(A(), A)) # 返回True
print(isinstance(B(), A)) # 返回True
print(isinstance(C(), A)) # 返回False