小数据池

小数据池概念&理解

        is 两者之间的id是否相同        == 两边的数值是否相等        id 获取该对象的内存地址        代码块:一个模块,一个函数,一个类,一个文件等都是一个代码块。        而作为交互方式输入的每个命令都是一个代码块。如果在同一代码块下,则采用同一代码块下的换缓存机制。如果是不同代码块,则采用小数据池的驻留机制。# pycharm 通过运行文件的方式执行下列代码:  这是在同一个文件下也就是同一代码块下,采用同一代码块下的缓存机制。i1 = 1000i2 = 1000print(i1 is i2)  # 结果为True 因为代码块下的缓存机制适用于所有数字通过交互方式中执行下面代码:   # 这是不同代码块下,则采用小数据池的驻留机制。>>> i1 = 1000>>> i2 = 1000>>> print(i1 is i2)False  # 不同代码块下的小数据池驻留机制 数字的范围只是-5~256.
#相同代码块下:            #所有整数,大部分字符串,bool,存储地址相同#不同代码块下(小数据池):            #-5-256,字符串长度小于等于20,bool,存储地址相同

原文地址:https://www.cnblogs.com/jiazeng/p/11181635.html

时间: 2024-08-01 18:07:00

小数据池的相关文章

python2、python3 的区别及小数据池

一.python2 与python3的区别 1.print    python2中输出的格式为:print''    python3输出为print() 2.在python2中xrange是个生成器,可以转化成range,在python3中直接是range 3.在python2中用户交互是raw_input,在python3中是input. 二.关于内存地址(只有数字和字符串才有小数据池,    = 是赋值,==是比较的是值,is 是比较,比较的是内存地址  ) 关于 is 比较内存地址的情况:

18/5/4 小数据池,编码的进阶

一.内存地址(id): 变量:将计算的中间结果储存起来,以便后续代码使用 问题来了:变量存在哪里呢,或许可以这样问:变量储存在内存哪里呢? 内存会进行分区,每个分区都有一个序号,而每个分区里面都储存着数据,变量就来自这里,而分区的序号就叫内存地址 python 这门语言不像 C 语言,C 语言是属于内存级别的语言,C 涉及到指针,内存.而 python 不同,它的内存级别的已经设计好了.所以 python 比 C 简单,也正是如此,虽然 python 也有内存地址这个概念,但是它的内存地址和真实

python小数据池、代码块

一.代码块 Python程序是由代码块构造的.块是一个python程序的文本,他是作为一个单元执行的. 代码块:一个模块,一个函数,一个类,一个文件等都是一个代码块. 而作为交互方式输入的每个命令都是一个代码块. 什么叫交互方式?就是咱们在cmd中进入Python解释器里面,每一行代码都是一个代码块. 不同的代码块: def func(): print(333) class A: name = 'alex' 虽然上面的缩进的内容都叫代码块,但是他不是python中严格定义的代码块. for i

python 小数据池、代码块详解

首先我们来看看下面的问题,第一次遇到还以为见鬼了.                    看到上面这么多种情况刚开始直接就懵逼了.100ID一样,1000就不一样.终端运行情况居然会和pycharm不一样. 后面终于搞懂了,原来这里头有大学问,且看下面分析. 一.代码块 Python程序是由代码块构造的.块是一个python程序的文本,他是作为一个单元执行的. 代码块:一个模块,一个函数,一个类,一个文件等都是一个代码块. 而作为交互方式输入的每个命令都是一个代码块. 也就是说:       所

Python 代码块 小数据池

一  代码块 什么是代码块??? Python程序是由代码块构造的.先举一个例子: 1 for i in '12334567': 2 print(i) 1 def func(): 2 print('Hello,world!') 1 class A: 2 name = 'colin' 从上面的例子可以称为代码块,虽然上面的缩进的内容都叫代码块,但是他们并不是python中严格定义的代码块. 那么,python中真正意义上的代码块又怎么定义? 因此,我们定义:一个模块,一个函数,一个类,一个文件等都

old boy 8月9日 is id 小数据池

01 昨日内容回顾 字典: key:value形式存储, key:不可变(可哈希)的数据类型 value:任意数据类型,对象. 大量的数据,关系型数据.查询速度非常快 python3.5包含3.5之前,字典无序的. python3.6以后,字典是有序的. dic = {'name':'taibai'} 增: dic['age'] = 18 # 有责改之,无责增加 dic.setdefault(key,value) # 有则不变,无责增加 删: pop 按照键去删除 有返回值 dic.pop('n

pyhon学习第六天 代码块,小数据池(缓存机制,驻留机制),is == id =,字符编码

1.代码块 能够实现某项功能的:模块,函数,类,文件 ##在python的交互模式下,一行代码就是一个代码块分别储存在不同文件中 2. id is ==和= =是赋值 ==比较两边数据内容是否相等 is 比较内存地址是否一致(内存里的id都是唯一的) id() 查看数据的id地址 3.小数据池(缓存机制,驻留机制): 小数据池是python对内存做的一个优化 优化内容:python将-5到256的整数.以及一定规律的字符串提前在内存找那个创建了固定的储存空间 适用小数据池的数据类型:*****

小学生都能学会的python(小数据池)

1. 小数据池. 目的:缓存我们字符串,整数,布尔值.在使用的时候不需要创建过多的对象 缓存:int, str, bool. int: 缓存范围 -5~256 str: 1. 长度小于等于1,直接缓存 2. 长度大于1. 字符串中如果只有数字, 字母, 下划线. 就会缓存 3. 乘以1. 同上, 乘以大于1的数.仅包含数字,字母下划线.最终长度小于20会缓存 4. 使用sys模块中的intern()缓存字符串 代码块的关系:如果在同一个代码块中.默认的整数和字符串还有布尔值都会进行缓存. 如果涉

再谈编码---小数据池(概念)

1. 小数据池小数据池在说小数据池之前. 我们先看一个概念. 什么是代码块:python程序是由代码块构成的. 一个代码块的文本作为python程序执行的单元.代码块: 一个模块, 一个函数, 一个类, 甚至每一个command命令都是一个代码块. 一个文件也是一个代码块, eval()和exec()执行的时候也是一个代码块 小数据池. 一种数据缓存机制. 也被称为驻留机制. 小数据池只针对: 整数, 字符串串, 布尔值. 其他的数据类型不存在驻留机制 在python中对-5到256之间的整数会

python基础之小数据池

关于池的概念,大家也许知道 连接池,代理池.然而现在我们提到的小数据池,则是一些Int和string已经创建好的并放在池子里等着我们去调用的对象. '''对于整数,Python官方文档中这么说: The current implementation keeps an array of integer objects for all integers between -5 and 256, when you create an int in that range you actually just