is和==的区别

1. id()

  通过id()我们可以查看到⼀一个变量表示的值在内存中的地址.

a1 = 100
b1 = 100
print(id(a1),id(b1)) #140712472404096, 140712472404096 a2 = 222222222222
b2 = 222222222222
print(id(a2),id(b2)) #2714854086672, 2714854086672 a3 = True
b3 = True
print(id(a3),id(b3)) #140712471869776, 140712471869776 内存地址相同 a4 = "abcdefghijklmnopqrstuvwxyz"
b4 = "abcdefghijklmnopqrstuvwxyz"
print(id(a4),id(b4)) #2230116006848, 2230116006848 内存地址相同 a5 = "abcdefghijklmnopqrstuvwxyz"*3
b5 = "abcdefghijklmnopqrstuvwxyz"*3
print(id(a5),id(b5)) #2234044245808, 2234044245808 内存地址相同 a6 = "uwidsoididoiwqoiewyueiydihbddwowqfewhufdnjcddududfisdygfiuwqiodmcdncduiosiiennxeniionwmwoiwieuruuewuuukskxsniiwhdhi2wuyrtfrvvufioqkq"*3
b6 = "uwidsoididoiwqoiewyueiydihbddwowqfewhufdnjcddududfisdygfiuwqiodmcdncduiosiiennxeniionwmwoiwieuruuewuuukskxsniiwhdhi2wuyrtfrvvufioqkq"*3
print(id(a6),id(b6)) #1998595213104, 1998595213104 内存地址相同 a7 = ["hello""world"]
b7 = ["hello""world"]
print(id(a7),id(b7)) #1915401364040, 1915401364104 内存地址不同 a8 = ("hello","world")
b8 = ("hello","world")
print(id(a8),id(b8)) #2328127912840, 2328127912840 内存地址相同 a9 = {"hello":"你好","world":"世界"}
b9 = {"hello":"你好","world":"世界"}
print(id(a9),id(b9)) #1975585307384, 1975585307456 内存地址不同

  注意(一般情况下): 在py文件中. 如果你只是单纯的定义一个字符串. 那么一般情况下都是会被添加到小数据池中的. 我们可以这样认为: 在使⽤用字符串的时候, python会帮我们把字符串进行缓存, 在下次使用的时候直接指向这个字符串即可. 可以节省很多内存.

  ==: 判断两端的值是否相等

  is: 判断两端的内存地址是否相等

a = "who am i"
b = "who am i"
print(id(a),id(b)) #2142885576880, 2142885576880
print(a is b) #True
print(a == b) #True li1 = ["who","am","i"]
li2 = ["who","am","i"]
print(id(li1),id(li2)) #1891093340744, 1891093340808
print(li1 is li2) #False
print(li1 == li2) #True

最新文章

  1. ASP.NET 页面禁止被 iframe 框架引用
  2. OpenStack从入门到放弃
  3. sizeof(转载)
  4. Javascript定义类(class)的三种方法
  5. 查看那个进程占用了端口号(LINUX与AIX)
  6. 微信公共平台开发3 .net
  7. BZOJ 1036:树的统计Count(树链剖分)
  8. mysql 无法远程访问(授权也没办法,确切的说是因为只绑定了127IP)
  9. iOS开发环境C语言基础
  10. IP碎片原理:攻击和防护
  11. Linux下C/C++程序开发管理(makefile)
  12. Asp.net Gridview导出Excel
  13. WCF入门介绍
  14. POJ 2252 Dungeon Master 三维水bfs
  15. Jssdk微信分享
  16. SQL Server索引进阶:第八级,唯一索引
  17. ubuntu搭建git服务器
  18. InvalidateRect只是增加重绘区域,在下次WM_PAINT的时候才生效
  19. Java web轻量级开发面试教程的前言
  20. python目录遍历文件名称替换

热门文章

  1. 二分法求常数E,常数π,根号2
  2. 用Promise对象实现的 Ajax 操作
  3. http 2.0 新特性
  4. create-react-app 搭建的项目中,引入 webpack-bundle-analyzer 打包分析
  5. java标识字
  6. Nginx + Tomcat搭建集群
  7. Star Schema and Snowflake Schema
  8. 第一个NIOS II工程using Qsys-------Let Qsys Say Hello
  9. 【巷子】---flux---【react】
  10. WPF DataGrid 用法