isinstance:用于判断一个对象所属的类是否是指定类或指定类的子类;
 
issubclass:用于判断一个类是否是另一个类的子类;
 
type:用于获取一个对象所属的类。
 
例:isinstance、issubclass和type使用示例。
 1 class Person: #定义Person类 
 2     pass 
 3 class Student(Person): #以Person类作为父类定义子类Student 
 4     pass 
 5 class Flower: #定义Flower类 
 6     pass
 7 if __name__=='__main__': 
 8     stu=Student() #创建Student类对象stu 
 9     f=Flower() #创建Flower对象f 
10     print('stu是Person类或其子类对象:', isinstance(stu,Person)) 
11     print('stu是Student类或其子类对象:', isinstance(stu,Student))
12     print('f是Person类或其子类对象:', isinstance(f,Person))                     
13     print('Student是Person类的子类:', issubclass(Student,Person))          
14     print('Flower是Person类的子类:', issubclass(Flower,Person))
15     print('stu对象所属的类:', type(stu)) 
16     print('f对象所属的类:', type(f)) 
17     print('stu是Person类对象:', type(stu)==Person) 
18     print('stu是Student类对象:', type(stu)==Student)
stu是Person类或其子类对象: True
stu是Student类或其子类对象: True
f是Person类或其子类对象: False
Student是Person类的子类: True
Flower是Person类的子类: False
stu对象所属的类: <class '__main__.Student'>
f对象所属的类: <class '__main__.Flower'>
stu是Person类对象: False
stu是Student类对象: True
 
提示:
如果我们要判断一个对象的类型是否是指定类或该类的子类,则可以使用isinstance函数。
如果我们要判断一个对象的类型是否是指定类,则可以使用“type(对象名)==类名”的方式。
posted on 2020-12-23 21:25  史振兴  阅读(200)  评论(0编辑  收藏  举报