Python代码块及缓存机制原理详解

yipeiwu_com6年前Python基础

这篇文章主要介绍了Python代码块及缓存机制原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

1.相同的字符串在Python中地址相同

s1 = 'panda'
s2 = 'panda'
print(s1 == s2) #True
print(id(s1) == id (s2)) #True

2.代码块:

所有的代码都需要依赖代码块执行。

​ 一个模块,一个函数,一个类,一个文件等都是一个代码块

​ 交互式命令中, 一行就是一个代码块

3.缓存机制:

同一代码块下的缓存机制

​ 适用对象:int(float),bool,str

​ 具体细则:所有的数字,bool(1,0),几乎所有的字符串(字符串×数字时会有不同的情况)

​ 同一代码块内:初始化命令时 先检查内存中 的 字典有无 已创建的相同的数据,如果有相同数据, 则会共用同一内存地址,

​ 优点:节省内存,提升性能

​ 不同代码块下的缓存机制 (小数据池)

​ 适用对象:int(float),bool,str

​ 具体细则:-5~256 范围内的数字,以及满足规则的字符串

​ 优点:节省内存,提升性能

总结:

  • 同一个 代码块下一个缓存机制,不同的代码块下另一个缓存机制(小数据池)
  • 小数据池 数字范围 -5~256
  • 共同优点:节省内存,提升性能。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

详解安装mitmproxy以及遇到的坑和简单用法

详解安装mitmproxy以及遇到的坑和简单用法

mitmproxy 是一款工具,也可以说是 python 的一个包,在命令行操作的工具。 MITM 即中间人攻击(Man-in-the-middle attack) 使用这个工具可以在...

windows下Virtualenvwrapper安装教程

windows下Virtualenvwrapper安装教程

windows下安装Virtualenvwrapper 我们可以使用Virtualenvwrapper来方便地管理python虚拟环境,但是在windows上安装的时候.....直接 i...

Python的条件锁与事件共享详解

1:事件机制共享队列: 利用消息机制在两个队列中,通过传递消息,实现可以控制的生产者消费者问题 要求:readthread读时,writethread不能写;writethread写...

Python json 错误xx is not JSON serializable解决办法

Python json 错误xx is not JSON serializable解决办法 在使用json的时候经常会遇到xxx  is not JSON serializab...

Python translator使用实例

1.string.maketrans设置字符串转换规则表(translation table) allchars = string.maketrans('...