了解Python中的isinstance()函数_链圈子

了解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。

原创文章,作者:惊蛰财经,如若转载,请注明出处:http://www.xmlm.net/jibi/31345.html