python3學習筆記之 強引用和弱引用

adapt_to發表於2018-04-12

python中,名字和物件的關聯是強引用的關係,會增加引用計數,進而影響目標物件的生命週期。所以 弱引用就是在保留引用的前提下,不增加計數,不阻止目標被回收。

但不是所有的型別都支援弱引用(如 int、str、list、tuple。。。等)

這裡要提到解構函式 __del__

當物件被回收時,會呼叫解構函式。


這裡需注意,弱引用需要加上括號,w( )  is  a  而不是 w is a。

並且這裡新增了弱引用並未增加引用計數。

del掉物件後,弱引用就失效了。此時 w( )  is  None

標準庫中有一些弱引用相關函式,以及弱引用字典,集合等容器。



待續。。。。。 

相關文章