内存管理
变量:接受变量值,描述世界万物变化的状态
name = 'nick'
print(name)
nick
看python如何在内存中创建变量,新建变量名开辟内存空间
技术引用
· 引用技术是对变量值得
name = 'nick'#引用计数为一,这个变量值被引用
name2 = name#'nick'的引用计数为2
del name
#'nick'的引用计数为1 del为删除 原本name2→name→nick 然后name被删除就是name2→nick所以引用为1
del name2
#'nick'的引用计数为0 然后name2也被删除所以nick没有引用所以为0
垃圾回收机制
· 当变量值得引用为0的时候,python会自动回收变量值的内存占用
· 当直接print(nick)的时候是直接在内存空间定义了一个nick,然后在删掉
'''
name = 'nick'
print(name) 相当于这种形式
del name
'''
小整数池
·【-5,256】之间的整数由于经常遇到,所以在python启动时的一刻,就会开辟一块内存空间放入这些整数,他不会被垃圾回收机制回收
x = 10
y = 10
h=257
j=257
#x的10 的引用计数为2 因为 x y都是的常量定义都为10 所以10 同时指向了x和y 所以掉用为2
print(id(x))
print(id(y))
print(id(h))
print(id(j))
#当所赋值的大小范围不在(-5到256)之间就会在内存空间分别定义,如果在一个值就会分别都指向变量名
#x←10→y,h←257 257→j 不在(-5到256)之间的数当被del后就会被内存空间删除
1606695312
1606695312
102459248
105619696