http://www.7klian.com

相识Python中的isinstance()函数_链圈子


Python 中的isinstance() 函式可以用来查抄一个物件是否为某个类此外实例,或是否为一个超类此外实例。它的语法如下:

isinstance(object, classinfo)

个中,object 是要查抄的物件,classinfo 则是要查抄的种别或超种别。假如object 是classinfo 的实例,或是classinfo 的超类此外实例,则isinstance() 函式会传回True,不然传回False。

举个例子来说,假设我们有一个种别叫做Animal,它有一个子种别叫做Dog,那么我们可以用isinstance() 函式来查抄一个物件是否为Animal 或Dog 的实例:

class Animal:
    pass

class Dog(Animal):
    pass

dog = Dog()

print(isinstance(dog, Animal)) # True
print(isinstance(dog, Dog)) # True

可以看到,dog 是Animal 的实例,也是Dog 的实例,所以isinstance() 函式传回True。

别的,isinstance() 函式也可以接管多个种别作为参数,譬喻:

print(isinstance(dog, (Animal, Dog))) # True

这个例子中,isinstance() 函式会查抄dog 是否为Animal 或Dog 的实例,由于dog 是Dog 的实例,所以isinstance() 函式会传回True。

总结来说,Python 中的isinstance() 函式可以用来查抄一个物件是否为某个类此外实例,或是否为一个超类此外实例,它可以接管多个种别作为参数,只要物件是个中任何一个类此外实例,isinstance() 函式就会传回True。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。