📅  最后修改于: 2023-12-03 14:42:10.912000             🧑  作者: Mango
isinstance()
是Python内置的一个方法,用于判断一个对象是否为指定的类型或其子类的实例。在面向对象编程中,类型或类是非常重要的概念,而isinstance()
方法则是检查对象是否符合特定类型或类的工具之一。
isinstance(obj, classinfo)
obj
:被检查的对象classinfo
:类型或类,可以是单个类型,也可以是多个类型的元组。如果obj
是其中任意一个类型或类的实例,则返回True
,否则返回False
class Person:
pass
class Student(Person):
pass
p = Person()
s = Student()
print(isinstance(p, Person)) # True
print(isinstance(s, Person)) # True
print(isinstance(p, Student)) # False
print(isinstance(s, Student)) # True
上述示例中,p
和s
分别是Person
和Student
类的实例。使用isinstance()
方法可以检查它们是否符合特定的类型或类。比如isinstance(p, Person)
将返回True
,表明p
是Person
类或其子类的实例;而isinstance(p, Student)
将返回False
,表明p
不是Student
类或其子类的实例。
isinstance()
判断的是对象的类型或类,而不是对象的实例(即对象的属性和方法)。classinfo
可以是单个类型或类,也可以是多个类型或类的元组,即可以同时判断一个对象是否是多种类型或类中的任意一种。isinstance()
适用于面向对象编程中的多态性(Polymorphism),即一个父类的对象可以拥有多个子类的形态。