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

Python中的isinstance()函数:用法和示例讲解

发布时间:2023-12-01 21:20:00

在Python编程中,isinstance()是一个用于判断一个对象是否是指定类的实例的函数。它的用法非常简单,可以接受两个参数,第一个参数是待判断的对象,第二个参数是指定的类(或者是一个类型的元组)。

isinstance()函数的返回值为布尔值,如果对象是指定类的实例,则返回True,否则返回False。下面是isinstance()函数的用法示例:

class Student:
    pass

class Teacher:
    pass

student = Student()
teacher = Teacher()

print(isinstance(student, Student))  # 输出True
print(isinstance(teacher, Student))  # 输出False
print(isinstance(teacher, (Student, Teacher)))  # 输出True

在上面的示例中,我们定义了一个Student类和一个Teacher类。然后创建了一个student对象和一个teacher对象。通过isinstance()函数来判断这两个对象是否是指定类的实例。

第一个isinstance()函数判断student对象是否是Student类的实例,返回True,因为student对象是由Student类创建的。

第二个isinstance()函数判断teacher对象是否是Student类的实例,返回False,因为teacher对象是由Teacher类创建的,不是Student类的实例。

第三个isinstance()函数判断teacher对象是否是Student类或Teacher类的实例,返回True,因为teacher对象是由Teacher类创建的,而Teacher类是指定类的元组中的一个。

需要注意的是,isinstance()函数不仅仅可以判断对象是否是指定类的实例,还可以判断对象是否是其子类的实例。比如:

class Animal:
    pass

class Dog(Animal):
    pass

dog = Dog()

print(isinstance(dog, Animal))  # 输出True

在上面的示例中,我们定义了一个Animal类和一个Dog类,Dog类是Animal类的子类。然后创建了一个dog对象。通过isinstance()函数来判断dog对象是否是Animal类的实例,返回True,因为dog对象是由Dog类创建的,而Dog类又是Animal类的子类。