python初级学习day1-内存机制待修改
python内存机制
在python中,万物皆对象,所以python的存储问题都是对象的存储问题。每一个对象,python都会分配一块内存去存储。
1、Python缓存了整数和短字符串,因此每个对象在内存中只存有一份,引用所指对象就是相同的,即使使用赋值语句,也只是创造新的引用,而不是对象本身;
2、Python没有缓存长字符串、列表及其他对象,可以由多个相同的对象,可以使用赋值语句创建出新的对象。
3.缓存机制的引用计数 ==sys.getrefcount(对象引用名), ==对象被引用的次数
1.一个对象会记录着自己被引用的次数,每增加一个引用,个数加一,每减少一个,个数减一
2.del 对象引用名,可以释放缓存的内存单元
3.对象的访问次数是从0开始的, a = 1200,访问次数加1;
getrefcount函数对a引用的对象进行次数的统计也算一次访问,所以最后结果看到的访问计数是2
4.对象从内存中删除,或者对象被销毁,访问次数减少
注意:id()是python的内置函数,用于返回对象的身份,即对象的内存地址。