文章詳情頁
python 為什么調用函數會令引用計數+2
瀏覽:116日期:2022-08-05 10:36:08
問題描述
import sysa = 11init_cnt = sys.getrefcount(a) - 1print 'init', init_cnt####init 22def function(c): print ’in function, count: ’, sys.getrefcount(c) - 1 ####in function, count: 24 print ’函數調用,計數器增加’, sys.getrefcount(c) - 1 - init_cnt ####函數調用,計數器增加 2function(a)
問題解答
回答1:把a當參數傳入到function后被引用了兩次:
for attr in dir(function): print attr, getattr(function, attr)
可以看到參數a被function這個對象中的兩個屬性分別引用.
相關文章:
1. JavaScript將.apply()與'new'運算符配合使用這可能嗎?2. angular.js - webpack build后的angularjs路由跳轉問題3. java - web項目中,用戶登陸信息存儲在session中好 還是cookie中好,取決于什么?4. java - Activity中的成員變量被賦值之后,Activity被回收的時候內存才會被釋放嗎5. 請求一個數據返回內容為空或者錯誤如何再次請求幾次6. 數組按鍵值封裝!7. 老師,flex-shrink: 1; 按視頻操作,不會自動縮放8. 為什么bindClass訪問不了的?9. Discuz! Q 有人用過嗎?10. php由5.3升級到5.6后,登錄網站,返回的是php代碼,不是登錄界面,各位大神有知道的嗎?
排行榜
