创建:当Python变量赋值时,根据值来创建变量。
字母,数字
从结果可以看出从-5开始到256共享内存
字符串:
短字符串(没有空格)以及空字符串' ' 可以共享内存
长字符串 不能共享内存
列表, 字典
可变数据所以每次都开辟新的内存
元组
每次都开辟新的内存,⽣成新的对象;但是对于空元组(),则共享内存。(不可变)
**当变量A=B,两个变量是有相同的单元的。
引用:当变量被引⽤,python引⽤计数器⾃增1,计数为0时就销毁
销毁:
⼀个本地引⽤离开了其作⽤范围
计数器为0时,等待垃圾回收/用del删除
对象的⼀个别名被赋值给其它的对象 (被覆盖掉了,原来的会被销毁)
对象被从⼀个窗⼝对象中移除 myList.remove(x)
窗⼝对象本身被销毁
例子:rom sys import getrefcount
a = [1, 2, 3]
print(getrefcount(a))
b=a
c = [a, a]
del c,b
print(getrefcount(a))
del a
print("a被销毁了")
(当使用某个引用作为参数,传递给getrefcount()时,
参数实际上创建了一个临时的引用。因此,getrefcount()所得到的结果,会比期望的多1。)
(del变量:使⽤sys包中的getrefcount(),来查看某个对象的引⽤计数。)
(当使⽤某个引⽤作为参数,传递给getrefcount()时,参数实际上创建了⼀个临时的引 ⽤。因此,getrefcount()所得到的结果,会⽐期望的多1计数+1]))