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