关于python学习的一些基础知识我想对大家普及
常说的变量,什么是变量,从字面意思上理解变量就是,值可以改变的量,在面向对象中,你可把它称为对象,将类创建的实例对象赋值给它
a = 5
a = 6
a = 7
我们可以给将多个值赋值给a,或者称为a 指向多个数据,这样不知道对它是否理解
我们也可以将字符串,一段实现功能的代码赋值给它
a = ‘this is test a piece of code’
a = 4 * 3
其中a都可以被称为变量。
下面我要说的是,关于python内存中的回收机制
现在有两个数据 分别为45 和46 现在将a 指向45 或称为 将45赋值给a,然后接下来将a 指向46,通过 sys.getrefcount() 方法检查45 和46 被引用的数量
a = 45
a = 46
print(sys.getrefcount(45))
当一个数据没有变量指向它时,这个数据的引用数量就变成了0,python会销毁掉这种对象,这就是GC(垃圾回收),你可以通过sys.getrefcount() 方法查看一个数据的引用数量.
这样就是解释在内存中存入了很多数据却没有删除,其数据哪里去了,不会越来越多占用内存吗?
一旦一个数据源没有被引用,python就会认为它是一个被舍弃的数据,需要删除