Python代码块及缓存机制原理详解
作者:曹晟原 发布时间:2023-07-02 08:12:07
标签: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
共同优点:节省内存,提升性能。
来源:https://www.cnblogs.com/pandaa/p/12029027.html


猜你喜欢
- 静态文件配置概述:静态文件交由Web服务器处理,Django本身不处理静态文件。简单的处理逻辑如下(以nginx为例):URI请求 --&g
- SET @SQL = 'SELECT * FROM Comment with(nolock) WHERE 1=1 &nbs
- 当业务A页面有验证码,且业务B页面也需要验证码。这个时候,如果A和B共用一个验证码,则会出现这种情况:A页面出现验证码,这个时候打开B页面验
- 微信的小程序是一个很不错的体验,简单,上手快,这几天也在学习使用小程序,自己总结了三种用 Python 作为小程序后端的方式,供你参考。方法
- 我们使用编辑器的时候,想要在其中添加一个Django项目,这样就能在里面做一些想要的操作。有些人还没有对Django进行安装,这里直接用命令
- MySQL作为数据库的一大主力军,到处存在于我们各种系统中,相信大家都不陌生!但是,你知道你能用不代表你知道细节,那我们就来盘点盘点其中一些
- MySQL批量插入数据脚本#!/bin/bashi=1;MAX_INSERT_ROW_COUNT=$1;while [ $i -le $MA
- 目录1、方式一:自动创建2、方式二:纯手动创建3、方式三:半自动创建1、方式一:自动创建# django orm 自动帮我们创建第三张表,我
- 之前安装过Anaconda3,但是今天发现我安装的Anaconda Navigator不见了,然后看了网上的各种博客发现是自己安装Anaco
- 如IE6,在他上面还不那么富饶,给程序调试带来的很大的痛苦啊,所以日志即时输出是一个不错的选择,可以知道程序覆盖到了哪里。即是在先进的浏览器
- Python assert 语句,又称断言语句,可以看做是功能缩小版的 if 语句,它用于判断某个表达式的值,如果值为真,则程序可以继续往下
- 本文作为属性篇的最后一篇文章, 将讲述HTML和CSS的关键—盒子模型(Box model). 理解Box model的关键便是margin
- PL/SQL块中只能直接嵌入SELECT、DML(INSERT,UPDATE,DELETE)以及事务控制语句(COMMIT,ROLLBACK
- 重要提示:本文并非一篇简单地介绍内联格式模型(inline formatting model)的文章。相反,它是对内联格式(inline f
- 方法1:pythonw xxx.py方法2:将.py改成.pyw (这个其实就是使用脚本解析程序pythonw.exe)跟 python.e
- 发现问题Python中的urllib模块用来处理url相关的操作,unquote方法对应javascript中的urldecode方法,它对
- 还是先上代码吧 ,可以先看 SQL语句去掉重复记录,获取重复记录ALTER procedure [dbo].[PROC_ITEMMASTER
- 前言在golang语言中,select语句 就是用来监听和channel有关的IO操作,当IO操作发生时,触发相应的case动作。有了 se
- 创建一个NNimport tensorflow as tfimport numpy as np#fake datax = np.linspa
- Mac版Python3安装/升级Mac系统自带Python,但都是2.X版本,非常老的版本了。如果我们需要安装Python3版本,怎么能快速