直接給概念,小夥伴很難理解,我用一個例子保證你get到。python
a=[1,2,3] #聲明變量後 引用計數 +1 b=a #增長一個引用, 引用計數 +1 c=b #增長一個引用, 引用計數 +1
當咱們刪除web
del a #刪除a 這個指針,並引用計數 -1 print(b) print(a)
打印結果:算法
[1, 2, 3] NameError: name 'a' is not defined
當計數器 保存的值爲0的時候,
也就是意味着沒有任何指針指向這塊存儲。svg
垃圾回收開始清除這塊沒有任何 指針的存儲。函數
python 有個魔法函數 del 當回收的時候系統應該如何操做。指針
看下邊例子,比較簡單本身體會下,不作解釋 :code
class A: def __del__(self): print("開始回收了") a=A() b=a c=b del a del b del c
打印結果:xml
開始回收了