内存管理
引用计数
引用计数是针对变量值的
name = 'xiaoming' # 引用计数为1,这个变量值被引用多少
name1 = name # 'xiaoming'的引用计数为2
name2 = 'xiaoming1'
del name
# 'xiaoming'的引用计数为1
del name1 # xiaoming的引用计数为0
垃圾回收机制
当变量值的引用计数为0的时候,python会自动回收该变量值的内存占用
name = 'xiaoming'
# xiaoming的引用计数为1
print(id(name))
1683062220784
del name
# xiaoming的引用计数为0
print(id(name))
NameError: name 'name' is not defined
小整数池
[-5,256]之间的整数由于经常用到,所以在python启动的那一刻,就会开辟一块内存空间放入这些整数,他不会被垃圾回收机制回收
x = 10
y = 10
print(x)
print(y)
# x=10的变量值10的引用计数为2
10
10