亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

“id”的內存優化

“id”的內存優化

動漫人物 2022-08-16 18:58:07
a = 1b = 1id(a) == id(b)    # True以下是Python優化內存消耗并重用兩個變量的內存。c = 1.45d = 1.45id(c) == id(d)   # False - Why ?在Python的情況下,不使用這種優化。為什么?float
查看完整描述

1 回答

?
繁星淼淼

TA貢獻1775條經驗 獲得超11個贊

CPython(參考解釋器)作為實現細節,-5和256之間有一個小的int緩存, 用于int;每個值都是唯一的(在實踐中并不總是正確的,但大多數時候它是正確的;你不應該依賴它)。

這使得迭代對象等簡單任務的成本要低得多(因為所有值都可以從緩存中提?。?,并為常用的小值節省一些內存。雖然它不是動態大小的,所以創建兩次會得到不同的s(并不總是,但在許多情況下;在編譯期間應用了其他常量緩存操作,可以折疊在近距離內用作文本的值)。bytesint257id

對于 s 不存在這樣的緩存,因為有近乎無限數量的值,并且很少有人可能會在程序的廣泛區域中看到重用。floatfloat


查看完整回答
反對 回復 2022-08-16
  • 1 回答
  • 0 關注
  • 121 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號