ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Python小整数池-小数据池-驻留机制-is和==区别

2022-08-19 11:30:43  阅读:116  来源: 互联网

标签:数字 Python 驻留 整数 对象 字符串 代码


Python小整数池-小数据池-驻留机制-is和==区别

1.is和==的区别

相同点:

都用来比较两个对象是否一样

不同点:

is   用来比较是否是同一个对象,即对象的物理地址是否相同( id(对象	1)是否等于id(对象2) )
==   用来比较对象存储的值是否相等(值相等并不一定就是同一个对象)

2.Python终端和代码块中缓存机制的不同

Python终端中缓存机制-----小整数池:
数字:-5 ~ 256内数字提前已经被创建好,进行驻留,自己直接引用
字符串:
Python 3.7解释器之后:自己定义的字符串如果没有中文和特殊符号,长度不限,都进行驻留
PyCharm中的缓存机制------代码块(也就是一个py文件、一个类、一个函数、一个模块)和小整数池:

1.小整数池

是一个全局的,不属于代码块(一个py文件、一个类、一个函数、一个模块)

2.代码块
在代码块内,自己定义时都进行驻留,直到代码块结束
因为代码块执行时会创建一个字典,专门用来存储新的对象,想要创建新的数字字符串对象时,都会在字典中进行查找,如果没有才创建新的,有就直接引用

数字:-5-256内数字提前已经被创建好,进行驻留,自己直接引用,其他负无穷 ~ 正无穷数字
字符串:自己定义字符串、长度不限,字符中英文特殊字符不限,都会驻留

标签:数字,Python,驻留,整数,对象,字符串,代码
来源: https://www.cnblogs.com/hzk20220818/p/16601425.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有