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

yipeiwu_com7年前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设计】。

相关文章

使用批处理脚本自动生成并上传NuGet包(操作方法)

使用批处理脚本自动生成并上传NuGet包(操作方法)

  Hello 大家好,我是TANZAME,我们又见面了。   NuGet是什么这里就不再重复啰嗦,园子里一搜一大把。今天要跟大家分享的是,在日常开发过程中如何统一管理我们的包,如何通过...

Python中的filter()函数的用法

Python内建的filter()函数用于过滤序列。 和map()类似,filter()也接收一个函数和一个序列。和map()不同的时,filter()把传入的函数依次作用于每个元素,然...

python实现人人网登录示例分享

复制代码 代码如下:import reimport urllib2import cookielib def renren():    cj = cookie...

Python3使用requests模块实现显示下载进度的方法详解

本文实例讲述了Python3使用requests模块实现显示下载进度的方法。分享给大家供大家参考,具体如下: 一、配置request 1. 相关资料 请求关键参数:stream=True...

Python lambda函数基本用法实例分析

本文实例讲述了Python lambda函数基本用法。分享给大家供大家参考,具体如下: 这里我们简单学习一下python lambda函数。 首先,看一下python lambda函数的...