python的引用计数分析(二)
生活随笔
收集整理的這篇文章主要介紹了
python的引用计数分析(二)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
python所有對象引用計數被減少1的情況:
一.對象的別名被賦予新的對象;
a = 23345455 # 增加了一個引用 b = a # 增加了一個引用 print(sys.getrefcount(a)) b = 1.4 # 減少了一個23345455整數的引用 print(sys.getrefcount(a)) 結果:3;2 二.對象的別名被顯式銷毀;a = 23345455 # 增加了一個引用 b = a # 增加了一個引用 list = [a, b] # 增加了2個引用 del a print(sys.getrefcount(b)) 結果:4
說明:直接使用del關鍵字或者del()函數;注意:上述代碼手動銷毀的是被賦值引用的a,但是在列表里的a不會被銷毀。
三.一個對象離開它的作用域;
a = 23345455 # 增加了一個引用 b = a # 增加了一個引用 print(sys.getrefcount(a)) # 執行完畢后引用銷毀 print(sys.getrefcount(a))結果:3;3
說明:a作為參數傳遞到sys.getrefcount(a)函數中,只在函數中起作用,一旦執行完畢就會銷毀。
四.對象所在的容器被銷毀,或從容器中刪除對象;
# 增加了一個引用 a = 23345455 # 增加了一個引用 b = a list = [a, b] # 增加了2個引用 del list print(sys.getrefcount(b))結果:3
所有的引用計數加一的情況: python的引用計數分析(一)
?轉載于:https://www.cnblogs.com/cwp-bg/p/7460883.html
總結
以上是生活随笔為你收集整理的python的引用计数分析(二)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2017ACM/ICPC广西邀请赛-重现
- 下一篇: Python MySQLdb模块连接操作