python基础id与代码块(缓存机制)
发布于 2021-04-17 05:45 ,所属分类:知识学习综合资讯
目录
id,is,== 用法
代码块:
同一代码块下的缓存机制
不同代码块下的缓存机制(小数据池)
详解
id,is,== 用法

(点击查看大图)
id
id 是内存地址。只要创建一个数据(对象),就会在内存中开辟一个空间,将这个数据临时加载到内存中,这个空间是有一个唯一标识的,标识这个空间的叫做内存地址,也就是这个数据(对象)的 id,可以通过 id() 去获取这个数据的内存地址。
name = 'pamela'print(id(name)) # 2352964961840
(左右滑动查看完整代码)
is
is 是比较两边的内存地址是否相等。如果内存地址相等,那么这两边其实是指向同一个内存地址。
num1 = 1num2 = 1print(num1 is num2) # True
(左右滑动查看完整代码)
==
== 是比较两边的数值是否相等。
num1 = 1num2 = 1print(num1 == num2) # True
(左右滑动查看完整代码)
注:如果内存地址相同,那么值肯定相同,但是如果值相同,内存地址不一定相同。
代码块
python程序是由代码块构造的。块是一个python程序的文本,是作为一个单元执行的。
一个模块,一个函数,一个类,一个文件等都是一个代码块。而作为交互方式输入的每个命令都是一个代码块。

(点击查看大图)
同一代码块下的缓存机制
机制内容
python在执行同一个代码块的初始化对象的命令时,会将初始化的变量与值存储在一个字典中,再遇到新的变量时,会先在字典中检查其值是否已经存在,如果存在,会重复使用这个字典中的值。
满足缓存机制则变量的值在内存中只存在一个,即 id 相同。
适用对象
int(float):所有的数字
bool:True和False
str:几乎所有的字符串
优点
提升性能、节省内存
不同代码块下的缓存机制
(小数据池 / 驻留机制)
机制内容
python在内存中开辟了两个空间,一个空间存储了 -5-256的整数,另一个空间存储了一定规则的字符串,代码中遇到满足条件的数据时,并不会重新创建对象,而是使用已经创建好的对象。
适用对象
int:-5-256的整数
bool:True和False
str:满足规则的字符串
优点
提升性能、节省内存


![[Python基础] 2018年最新Python3数据科学入门与实战视频教程+代码讲义 8章](https://static.kouhao8.com/sucaidashi/xkbb/03b77b9ef3563422128ce04d404e3b08.png?x-oss-process=image/format,webp/resize,w_88/crop,w_88,h_88,g_nw)
![[Python] python视频教程(基础篇) 22集 课程视频+讲解+习题+讲解+代码答案](https://static.kouhao8.com/sucaidashi/xkbb/7ae6c7e3e4fe91fc43ad7a9f3c1f08a3.jpg?x-oss-process=image/format,webp/resize,w_88/crop,w_88,h_88,g_nw)
![[Python] python视频教程(基础篇) 22集 课程视频+讲解+习题+讲解+代码答案](https://static.kouhao8.com/sucaidashi/xkbb/ab3d2c0ae37f1b2a7858a9b9daa86d6b.jpg?x-oss-process=image/format,webp/resize,w_88/crop,w_88,h_88,g_nw)

![[Python] Alex Li高清Python入门视频教程 新手程序猿快来学习 入门+基础+代码+案例](https://static.kouhao8.com/sucaidashi/xkbb/ea8bf1e8ef7957e6802322d8ef7b4782.jpg?x-oss-process=image/format,webp/resize,w_88/crop,w_88,h_88,g_nw)








![[Python] xx学院 Django缓存优化视频教程 美女讲师Cynthia主讲 视频教程下载分享](https://static.kouhao8.com/sucaidashi/xkbb/0ceab0a2df5e4d63fda958d69ac7f181.jpg?x-oss-process=image/format,webp/resize,w_88/crop,w_88,h_88,g_nw)



![[Python] python学习视屏 23节 理论和代码编写细节讲的多一些](https://static.kouhao8.com/sucaidashi/xkbb/db6faa9aed4a2f3f8fdcdaa43ad0e4fd.jpg?x-oss-process=image/format,webp/resize,w_88/crop,w_88,h_88,g_nw)




![[其他] 七月算法2016年9月Python数据分析班视频教程10课高清长课时附代码、课件与参考书](https://static.kouhao8.com/sucaidashi/xkbb/8e63050d4d3b2deaddefff89e0a5a66c.jpg?x-oss-process=image/format,webp/resize,w_88/crop,w_88,h_88,g_nw)




相关资源