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

Python中如何检查两个对象是否为同一类类型(不使用isinstance)

判断两个对象是否引用同一个类对象

要判断两个对象的类型是否完全一致(即它们引用同一个类对象),可以直接使用Python的type()函数获取对象所属的精确类,再通过is运算符比较:

代码示例

假设你的两个对象分别为obj_a和obj_b:

# 假设这是你的两个对象
obj_a = <test.object1 object at 0x103baasdfa0>
obj_b = <test.object1 object at 0x103baasdfa1>

# 检查是否引用同一个类对象
if type(obj_a) is type(obj_b):
    print("两个对象引用同一个类对象")
else:
    print("两个对象的类对象不同")

关键说明

  • type()会返回对象所属的精确类,不会像isinstance()那样考虑继承关系(比如子类实例不会被isinstance误判为父类实例,但type()只会返回子类本身)。
  • 使用is运算符比==更严谨,因为is直接检查两个类对象是否是内存中的同一个引用,完全匹配你“是否引用同一个类对象”的需求;而==可能会被类的自定义__eq__方法影响,不过对于大多数类来说两者结果一致。

如果需要直接对比某个特定类,比如和test.object1类本身比较:

if type(obj_a) is test.object1:
    print("obj_a 引用的类对象就是 test.object1")

内容的提问来源于stack exchange,提问作者Oklol2958

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 07:12:32