浅谈Python小数据池

什么是小数据池

小数据池是python中提升效率的一种方式,固定数据类型的相同值使用同一内存地址。python

  id 用于获取开辟空间的内存地址函数

  代码块 一个文件,一个模块,一个函数,一个类,终端中的每一行代码都是一个代码块spa

  is 判断两个变量的内存地址是否相同内存

  == 判断等号两边的值是否相同字符串

数据在python中是经过字典的方式进行存储的it

若是是同一代码块中的两个变量在某种状况下也会产生驻留,先执行代码块,若是不符合代码块再执行小数据池class

注:若是"is"判断相同 "=="必定相同效率

若是"=="判断相同"is"不必定相同变量

小数据池规则 (小数据池仅支持 str , int , bool)

  • 支持数字范围 -5 ~ 256
  • 字符串在作乘法的时候总长度不能超过20
  • 自定义的字符串长度不限制,可是字符串必须由(字母,数字,下划线)组成
  • 特殊字符(中文除外)定义一个的时候驻留
  • 字符串*1其实就是赋值(赋值时两个变量使用同一内存地址)

代码块规则

  1. 数字所有驻留终端

  2. 字符串作乘法的时候总长度不能超过20

  3. 自定义的都驻留

  4. 字符串*1其实就是赋值

  5. Python3.7 字符串作乘法的时候总长度不能超过4096

经过 Python的内置模块 intern 能够实现主动驻留

相关文章
相关标签/搜索