python之内存管理
一、引用计数
1.引用计数增加
x=10 #10的引用计数为1
y=x #10的引用计数为2
2引用计数减少
x=10
y=x
x=11 #10引用计数减少1,现在为1
二、内存优化机制
同样x=11代替为del y ,也可以起到减少10的引用计数的效果(del的意思是解除绑定,10身上的引用计数减少1),引用计数一旦为0,就是垃圾,会被python的垃圾回收机制自动回收
python的内置功能id(),每一个变量值都有其内存地址,而id是用来反映变量值在内存中的位置的,内存地址不同id则不同:
x='info :<name:xiaoming age:18>'
y='info :<name:xiaoming age:18>'
print(id(x),‘ ’,id(y))
结果:
67654321 67654321 #python的内存优化机制,为了节省空间
三、定义变量的三个特征:
x=10
#id print(id(x))
#type print(type(x))
#value(值)print(x)
例如:
1.判断值是否相等:==
name1='xiaoming'
name2='xiaoming'
print(name1==name2)
结果:True
2.#判断id是否相等 is
x=11
y=x
print(x is y)
结果:True
四、总结:
1.id相等,值一定相等
2.值相等,id不一定相等