文章詳情頁
python 為什么調用函數會令引用計數+2
瀏覽:110日期: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. node.js - mysql如何通過knex查詢今天和七天內的匯總數據2. mysql 插入數值到特定的列一直失敗3. 360瀏覽器與IE瀏覽器有何區別???4. Python從URL中提取域名5. mysql - 百萬行的表中是否盡量避免使用update等sql語句?6. python - 在使用Pycharm時經常看到如下的樣式,小括號里紅色的部分是什么意思呢?7. javascript - 新浪微博網頁版的字數限制是怎么做的8. 怎么在網頁中設置圖片進行左右滑動9. javascript - 豆瓣的這個自適應是怎么做的?10. javascript - 用jsonp抓取qq音樂總是說回調函數沒有定義
排行榜
