当前位置: 首页 > news >正文

Python 内置函数 isinstance

isinstance() 是 Python 内置函数,用于检查一个对象是否是指定类或类型的实例。它还可以用于检查对象是否属于某个类或其子类,或者是否在某个元组中的类型之一。

语法

isinstance(object, classinfo)
  • object: 要检查的对象。
  • classinfo: 可以是一个类、类型,或者由类/类型组成的元组。

返回值

  • 如果 objectclassinfo 的实例或其子类的实例,返回 True
  • 否则返回 False

示例

1. 检查对象是否是某个类的实例
class MyClass:
    pass

obj = MyClass()

print(isinstance(obj, MyClass))  # 输出: True
print(isinstance(obj, str))       # 输出: False
2. 检查对象是否是多个类型之一
value = 42

print(isinstance(value, (int, float)))  # 输出: True
print(isinstance(value, (str, list)))   # 输出: False
3. 检查对象是否是内置类型的实例
num = 3.14
text = "Hello"

print(isinstance(num, float))  # 输出: True
print(isinstance(text, str))   # 输出: True
4. 检查对象是否是子类的实例
class Parent:
    pass

class Child(Parent):
    pass

obj = Child()

print(isinstance(obj, Parent))  # 输出: True
print(isinstance(obj, Child))   # 输出: True

注意事项

  • isinstance() 会考虑继承关系。如果对象是子类的实例,检查父类也会返回 True
  • type() 不同,isinstance() 更灵活,因为它支持继承和元组类型检查。
isinstance()type() 的区别
class Parent:
    pass

class Child(Parent):
    pass

obj = Child()

print(isinstance(obj, Parent))  # 输出: True
print(type(obj) == Parent)      # 输出: False
  • isinstance() 会考虑继承关系,而 type() 只检查对象的直接类型。

总结

isinstance() 是 Python 中用于类型检查的常用工具,特别适合需要处理继承关系或多类型检查的场景。

http://www.dtcms.com/a/21381.html

相关文章:

  • 【爬虫】使用 Scrapy 框架爬取豆瓣电影 Top 250 数据的完整教程
  • java八股文-mysql
  • SQL与数据库程序设计
  • 用队列实现栈
  • 人工智能之目标追踪DeepSort源码解读(yolov5目标检测,代价矩阵,余弦相似度,马氏距离,匹配与预测更新)
  • 牛顿法:用泰勒级数求解平方根的秘籍
  • 004 python变量
  • OpenVAS 工具使用全攻略
  • java练习(24)
  • 《解锁自然语言处理:让公众正确拥抱AI语言魔法》
  • LabVIEW中的icon.llb 库
  • 【华为OD机考】2024E+D卷真题【完全原创题解 详细考点分类 不断更新题目 六种主流语言Py+Java+Cpp+C+Js+Go】
  • Transformer(3): Add Norm
  • React VS Vue
  • 【R语言】方差分析
  • 什么是大模型以及如何部署大模型
  • 基于大数据的网购球鞋分析系统的设计与实现
  • CSS Grid 网格布局,以及 Flexbox 弹性盒布局模型,它们的适用场景是什么?
  • 【已解决】TypeError: AsyncConnectionPool.__init__(), new install bug, httpx==0.24.1
  • TLS和SSL的区别
  • GRN前沿:scGeneRAI:基于可解释AI的单细胞基因调控网络预测
  • C进阶 数据的存储
  • Docker高级篇
  • 无限使用,自动解锁全部版!
  • 基于角色访问控制的UML 表示04
  • 多模态对齐损失设计全解析:CLIP模型实现图文语义空间统一的原理详解与实战指南
  • 基于CANopen协议的同步控制和PDO消息传输
  • 考研操作系统----IO
  • 【学术投稿-第五届应用数学、建模与智能计算国际学术会议】CSS伪类选择器深度解析:分类、应用与技巧
  • C++拷贝构造函数初级解析:设计要点、调用机制与性能优化实践