鱼C论坛

 找回密码
 立即注册
查看: 2519|回复: 0

[学习笔记] is 和 == 的区别

[复制链接]
发表于 2020-3-18 21:35:51 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 233倔强不秃 于 2020-3-18 21:39 编辑

在python中万物即对象,所以is比较的是id值相同不相同,而==仅比较值。

id是什么?

id() 函数返回对象的唯一标识符,标识符是一个整数。id([object]),返回object的内存地址

对于值大小在-5~256之间的变量,python因为有内存池缓存机制,会对该值分配内存,而不是变量,所以只要是该值的变量都指向同一个内存,即id相同。



例如:
  1. >>> a = 6
  2. >>> b = 6

  3. >>> a == b
  4. True
  5. >>> a is b
  6. True

  7. >>> id(a)
  8. 1794099024
  9. >>> id(b)
  10. 1794099024
  11. >>>
复制代码

  1. >>> a = 12412412
  2. >>> b = 12412412

  3. >>> a == b
  4. True
  5. >>> a is b
  6. False

  7. >>> id(a)
  8. 1934207414384
  9. >>> id(b)
  10. 1934207414416
  11. >>>
  12. >>>
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-5-1 00:43

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表