七、内存管理

内存管理

变量:接受变量值,描述世界万物变化的状态

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
上一篇:[转帖]ssh 远程执行命令


下一篇:文件的三种打开模式