You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何编写判断对象是否为指定类精确实例的函数

解决方法

isinstance()的判断逻辑会包含继承关系,只要对象是目标类或其子类的实例都会返回True,不符合你需要的仅匹配直属类的要求。直接对比对象的直属类型即可实现需求:

代码实现

def is_same_class(obj, a_class):
    return type(obj) is a_class

逻辑说明

  • type(obj)会返回创建该对象时对应的直属类,不会遍历继承链匹配父类
  • 使用is运算符判断比==更严谨,因为Python中的类对象本身是全局唯一的单例

验证效果

运行你提供的测试用例后,仅会输出预期的1 is an instance of the class int,不会匹配float和object类。


内容的提问来源于stack exchange,提问作者seahorse-code

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 00:57:03