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