文章詳情頁
python 為什么調用函數會令引用計數+2
瀏覽:109日期: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. 在mybatis使用mysql的ON DUPLICATE KEY UPDATE語法實現存在即更新應該使用哪個標簽?2. mysql - 數據庫建字段,默認值空和empty string有什么區別 1103. mysql - 這種分級一對多,且分級不平衡的模型該怎么設計表?4. Navicat for mysql 中以json格式儲存的數據存在大量反斜杠,如何去除?5. mac OSX10.12.4 (16E195)下Mysql 5.7.18找不到配置文件my.cnf6. mysql mysql_real_escape_string() 轉義問題7. 新人求教MySQL關于判斷后拼接條件進行查詢的sql語句8. mysql - 千萬數據 分頁,當偏移量 原來越大時,怎么優化速度9. MySQL FOREIGN KEY 約束報錯10. mysql - 數據庫表中,兩個表互為外鍵參考如何解決
排行榜
