isinstance() 类型检查

最后更新:2026-09-22

isinstance() 类型检查

isinstance(obj, classinfo) 判断 obj 是否为 classinfo 的实例(或其子类实例),classinfo 可为 tuple。

分类内置函数
类型内置函数
Python 版本all

📝 语法

isinstance(object, classinfo)

⚙️ 参数

object 必选要检查的对象。
classinfo 必选类型或类型元组(满足任一类型即为真)。

返回值:返回布尔值:object 是 classinfo(或其任一元素)的实例时为 True。

💥 异常

▶ 示例

编辑下方代码,点击运行,在输出面板查看结果:

运行结果:

True
True
False
更多实战案例即将上线,敬请期待。

❓ 常见问题

Qisinstance(x, int) 和 type(x) == int 有什么区别?
Aisinstance 会考虑继承关系(子类实例也返回 True);type(x) == int 要求类型完全相等。通常用 isinstance 更灵活。
Qisinstance(True, int) 返回什么?
A返回 True,因为 bool 是 int 的子类;若想区分布尔与整数,需额外检查 type(x) is bool。
Q第二参数能传多个类型吗?
A能,传元组:isinstance(x, (int, float)) 满足任一即 True;classinfo 不是类型或类型元组时抛 TypeError。
Qisinstance 能检查接口/抽象类型吗?
A能,可检查抽象基类,如 isinstance(x, Iterable)、isinstance(x, collections.abc.Sequence),比检查具体类型更健壮。
Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏