欢迎访问宙启技术站
智能推送

在Python中使用isinstance()函数的用法

发布时间:2023-06-19 14:37:04

isinstance()函数是Python内置的一个函数,用于判断一个对象是否为指定类或类型的实例。它的基本语法是:

isinstance(object, classinfo)

其中,object是要判断的对象,classinfo可以是一个类或者一个类型的元组,如果对象是其中之一的实例,返回True,否则返回False。

例如:

a = 1
b = 'hello'
lst = [1, 2, 3, 4]
print(isinstance(a, int)) # True
print(isinstance(b, str)) # True
print(isinstance(lst, (list, tuple))) # True

在以上代码中,我们分别用isinstance()判断了一个整数、一个字符串和一个列表是否为对应的类型,结果都返回了True。

isinstance()函数还可以用于判断一个对象是否为某个父类的子类,例如:

class Animal:
    pass

class Dog(Animal):
    pass

class Cat(Animal):
    pass

d = Dog()
c = Cat()
print(isinstance(d, Animal)) # True
print(isinstance(c, Animal)) # True

在以上代码中,我们定义了一个Animal类,以及两个它的子类Dog和Cat,然后分别创建了一个Dog实例和一个Cat实例,并用isinstance()判断它们是否为Animal的子类,结果均为True。

isinstance()是一个很常用的函数,可以用来判断一个对象的数据类型,从而避免一些类型错误的问题。它还可以用在多态性的场景中,例如在函数中接收一个抽象类型的参数,然后根据具体的子类型进行不同的操作。