is 同一性判断
最后更新:2026-09-22
is 同一性判断
is 判断两个引用是否指向同一对象(id 相同)。
| 分类 | 运算符 |
|---|---|
| 类型 | 运算符 |
| Python 版本 | all |
📝 语法
a is b
▶ 示例
编辑下方代码,点击运行,在输出面板查看结果:
运行结果:
True
False
💡 提示 用 is None / is not None;不要用 == 比较 None。
💡 相关案例
更多实战案例即将上线,敬请期待。
❓ 常见问题
Q为什么比较整数时 is 的结果不稳定?
ACPython 对小整数(-5 到 256)有缓存,相同字面量通常是同一个对象;超出这个范围的对象是否复用不保证,可能因实现和编译优化而异。比较数值一律用 ==。
Q什么时候该用 is?
A只有两类场景:判断 None(x is None / x is not None),以及比较 True/False 或自定义单例对象。判断内容相等一律用 ==。
Q自定义类没实现 __eq__ 时,== 和 is 一样吗?
A一样,默认的 == 退化为身份比较(等价于 is)。但只要定义了 __eq__,两者就可能不同。