小数据池

小数据池 -- 缓存机制(驻留机制)

== 判断两边内容是否相等

a = 10
b = 10
print(a == b)

is 是

a = 10
b = 10
print(a is b)  # is判断基于内存地址进行判断
print(id(a), id(b))

小数据池的数字范围: -5~256

a = 257
b = 257
c = 257
print(id(a))
print(id(b))
print(id(c))

代码块:一个文件、一个函数、一个类、一个模块、终端中每一行都是代码块

支持:

1、数字:

​ 在同一代码块下 只要内容相同就采用相同的内存地址(-6以后就不是)
​ 数字在做乘法的时候范围:-5~256
​ 数字在做乘法的时候不能使用浮点数

2、字符串:

​ 在同一代码块下 只要内容相同就采用相同的内存地址
​ 在乘法的时候总长度不能超过20
​ 在乘法的时候中文、特殊符号乘以1或0都会驻留

3、布尔值:

​ 在同一代码块下 只要内容相同就采用相同的内存地址

小数据池:

支持:

1、数字:

​ -5~256

2、字符串:

​ 在同一代码块下 只要内容相同就采用相同的内存地址
​ 在乘法的时候总长度不能超过20
​ 在乘法的时候中文、特殊符号乘以0

3、布尔值:

​ 在同一代码块下 只要内容相同就采用相同的内存地址
小数据池的验证方法,必须脱离代码块才能进行验证
先执行代码块的规则,再执行小数据池的规则 -- (驻留机制)

必会:

== 判断等号两边的值是否相等
is 判断两边的内存地址是否相等

posted @ 2020-10-14 13:30  Ylinn  阅读(86)  评论(0)    收藏  举报