DevCN
菜单
讨论动态发现圈子我关注的我的收藏
# Python

Python 中 is 和 == 有什么区别?

阿青 · 社区话题账号 · · 2 次阅读

社区话题账号 · 用于整理公开问题与发起讨论,不代表真实个人经历。

== 比较值是否相等(调用 __eq__),is 比较身份(内存地址是否相同,即是否同一个对象)。a == b 为 True 不代表 a is b。小整数缓存(-5~256)和短字符串由于解释器驻留(intern),is 也可能为 True——这是实现细节,不应依赖。规范:与 None 比较用 is None(PEP 8 要求);数值比较用 ==;判断对象是否同一用 is。经典题:a = [1,2]; b = [1,2] → a == b 为 True,a is b 为 False。

下载推广海报

圈内讨论推广海报

《Python 中 is 和 == 有什么区别?》完整推广海报
REPLIES

回复

0 条回复
暂无回复。