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类的子类。
