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

相关文章

对python数据切割归并算法的实例讲解

当一个 .txt 文件的数据过于庞大,此时想要对数据进行排序就需要先将数据进行切割,然后通过归并排序,最终实现对整体数据的排序。要实现这个过程我们需要进行以下几步:获取总数据行数;根据行...

Python完成哈夫曼树编码过程及原理详解

Python完成哈夫曼树编码过程及原理详解

哈夫曼树原理 秉着能不写就不写的理念,关于哈夫曼树的原理及其构建,还是贴一篇博客吧。 /post/97396.htm 其大概流程 哈夫曼编码代码 # 树节点类构建 class Tr...

python写入数据到csv或xlsx文件的3种方法

本文实例为大家分享了三种方式使用python写数据到csv或xlsx文件,供大家参考,具体内容如下 第一种:使用csv模块,写入到csv格式文件 # -*- coding: utf-...

使用python读取csv文件快速插入数据库的实例

如下所示: # -*- coding:utf-8 -*- # auth:ckf # date:20170703 import pandas as pd import cStringI...

关于numpy中np.nonzero()函数用法的详解

np.nonzero函数是numpy中用于得到数组array中非零元素的位置(数组索引)的函数。一般来说,通过help(np.nonzero)能够查看到该函数的解析与例程。但是,由于例程...