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(对象名)==类名”的方式。
披荆斩棘,仗剑天涯
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通