驻留机制是Python解释器对值相同的变量的内存处理的一种方式,即当值相同时内存也相同。
必须在python自带IDLE中才能看出驻留机制
# 30 在 [-5, 256] 之间会驻留
a = 30
b = 30
print(a is b) # True
# -6 不在 [-5, 256] 之间不会驻留
a = -6
b = -6
print(a is b) # False
# wang 符合命名规则,会驻留
a = 'wang'
b = 'wang'
print(a is b) # True
# @qq.com 有特殊字符,不会驻留
a = '@qq.com'
b = '@qq.com'
print(a is b) # False
# 字符串长度为1,会驻留,即便不符合命名规则
a = '!'
b = '!'
print(a is b) # True
一切对象都含有三个部分:id、type、value
驻留机制会导致内存空间的浪费,所以第三方IDE会优化内存分配,所以看不出python的驻留机制