浅谈Python小数据池
什么是小数据池
小数据池是python中提高效率的一种方式,固定数据类型的相同值使用同一内存地址。
id 用于获取开辟空间的内存地址
代码块 一个文件,一个模块,一个函数,一个类,终端中的每一行代码都是一个代码块
is 判断两个变量的内存地址是否相同
== 判断等号两边的值是否相同
数据在python中是通过字典的方式进行存储的
如果是同一代码块中的两个变量在某种情况下也会产生驻留,先执行代码块,如果不符合代码块再执行小数据池
注:如果"is"判断相同 "=="一定相同
如果"=="判断相同"is"不一定相同
小数据池规则 (小数据池仅支持 str , int , bool)
- 支持数字范围 -5 ~ 256
- 字符串在做乘法的时候总长度不能超过20
- 自定义的字符串长度不限制,但是字符串必须由(字母,数字,下划线)组成
- 特殊字符(中文除外)定义一个的时候驻留
- 字符串*1其实就是赋值(赋值时两个变量使用同一内存地址)
代码块规则
数字全部驻留
字符串做乘法的时候总长度不能超过20
自定义的都驻留
字符串*1其实就是赋值
Python3.7 字符串做乘法的时候总长度不能超过4096
通过 Python的内置模块 intern 可以实现主动驻留
浅谈Python小数据池的更多相关文章
- 小学生都能学会的python(小数据池)
小学生都能学会的python(小数据池) 1. 小数据池. 目的:缓存我们字符串,整数,布尔值.在使用的时候不需要创建过多的对象 缓存:int, str, bool. int: 缓存范围 -5~256 ...
- Python小数据池,代码块
今日内容一些小的干货 一. id is == 二. 代码块 三. 小数据池 四. 总结 python小数据池,代码块的最详细.深入剖析 一. id is == 二. 代码块 三. 小数据池 四. ...
- python 小数据池,代码块, is == 深入剖析
python小数据池,代码块的最详细.深入剖析 一. id is == 二. 代码块 三. 小数据池 四. 总结 一,id,is,== 在Python中,id是什么?id是内存地址,那就有人问了, ...
- python -- 小数据池 is和 == 再谈编码
1.小数据池 python程序是由代码块构成的,一个代码块的文本作为python程序的执行单元. 代码块:一个模块,一个函数,一个类,甚至一个command命令都是一个代码块,一个文件也是一个代码块, ...
- python小数据池 is和 == 再谈编码
1. 小数据池, id() 小数据池针对的是: int, str, bool 在py文件中几乎所有的字符串都会缓存. id() 查看变量的内存地址 2. is和==的区别 is 比较的是内存地址 == ...
- python 小数据池 is和 == 编码解码
########################总结######################### 今日主要内容 1. 小数据池, id() 小数据池针对的是: int, str, bool 在p ...
- python 小数据池,is and "==",decode ,encode
一:小数据池 1.python运行中的缓存: 2.目的:缓存我们字符串,整数,布尔值.在使用的时候不需要创建过多的对象 3.python 缓存数据:缓存:int, str, bool. ...
- python小数据池,代码块知识
一.什么是代码块? 根据官网提示我们可以获知: A Python program is constructed from code blocks. A block is a piece of Pyth ...
- python小数据池概念以及具体范围
= 赋值符号: == 比较值是否相等: is 比较,比较的是内存地址 ID(内容) 数字,字符串的小数据池 小数据池现象产生的原因,作用: 为了节省内存空间. &l ...
随机推荐
- spss modeler出现使用错误提
spss modeler出现使用错误提 1.对字段"compensation汇总导出"指定的类型不充分 问题: 为了分析需要,我加了一个"字段选项"--&quo ...
- 使用APOC技术从MYSQL数据库导数据到Neo4j图数据库(JDBC)
Neo4j 数据导入 一.安装与部署Neo4j 直接在官网下载安装包安装,解压即可. 2.mysql ...
- 13-8-return的高级使用
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- LeetCode 8.字符串转换整数 (atoi)(Python3)
题目: 请你来实现一个 atoi 函数,使其能将字符串转换成整数. 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止. 当我们寻找到的第一个非空字符为正或者负号时,则将该 ...
- 2019-8-30-WPF-一个性能比较好的-gif-解析库
title author date CreateTime categories WPF 一个性能比较好的 gif 解析库 lindexi 2019-08-30 08:59:45 +0800 2018- ...
- 关于jar包启动遇到的问题
一.找不到propertites文件,错误如下 原因是打成的jar不包含classpath信息,需要运行时指定,命令为 -Xbootclasspath/a: 后缀在核心class搜索路径后面.常用! ...
- Python全栈开发:基本数据类型
1.数字 int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位系统上,整数的位数为64位,取值范围为-2 ...
- jmeter遇到的问题之Windows读取jtl文件出错
问题描述 ① 使用linux运行jmeter.jmx文件后生成result.jtl文件 jmeter -n -t /tmp/jmeter.jmx -l /tmp/testresult/result.j ...
- Android之divider分割线的使用
1.divider分割线 三种实现方式:(1)添加一个view,(2)通过shape实现,(3)通过设置图片实现 相关属性:设置分割线,分割线位置(none(无),begining(开始),end(结 ...
- iOS之CGAffineTransform属性详解和方法使用
1.CGAffineTransform简介 UIView有个属性transform,是CGAffineTransform类型.可以使其在二维界面做旋转.平移.缩放单独或者组合动画! CGAffineT ...