Python中的駐留機制,你了解多少

2025年02月15日13:52:03 科技 1189

Python中的駐留機制,你了解多少 - 天天要聞

駐留機制是 Python 針對字元串文字的優化技術。它不會保存同一字元串 Literals 的多個副本,而是保存它的單個副本。這有助於有效使用內存並加快查找和比較速度。讓我們通過一些示例來了解它

import sys

s1 = 'Medium does not support basic HTML tables'
s2 = 'Medium does not support basic HTML tables'

print(s1 is s2) # false
print(id(s1))   # 139912277338320
print(id(s2))   # 140434884249808


s3 = sys.intern('Medium does not support basic HTML tables')
s4 = sys.intern('Medium does not support basic HTML tables')

print(s3 is s4) # true

sys.intern() 顯式地暫存一個字元串。S3S4 使用 sys.intern 進行暫存,因此它們引用同一對象。當您處理大文本並需要節省內存時,這是一個很好的方法。

嘗試了以下作來明確不讓字元串 Literals 引用同一個對象,但它們總是這樣做。因為 Python 在這些情況下會自動駐留字元串。

s1 = 'a really large text'
s2 = 'a really large text' + ''
s3 = s1[:]
s4 = str('a really large text')

它不會為長字元串( >800 chars)、動態創建的字元串、範圍/時間相似性(就像這裡的相同腳本一樣)駐留。但是,字典中的字元串鍵也是同一個對象,這使得執行查找變得更加容易。

sample_dict = {
    'name' : 'Harshit',
    'gender': 'M'
}

another_dict = {
    'name' : 'Novak',
    'gender': 'M'
}

print(hex(id(another_dict.keys()))) # 0x7fb4bce718b0
print(hex(id(sample_dict.keys())))  # 0x7fb4bce718b0

科技分類資訊推薦

iPhone一鍵降溫?蘋果這隱藏模式有點過分啊 - 天天要聞

iPhone一鍵降溫?蘋果這隱藏模式有點過分啊

為了解決發熱這亘古難題,手機廠商絞盡腦汁,往手機里塞散熱膜、均熱板、填充硅脂,甚至還用上了主動風扇。 但到了夏天三四十度的室外,該發熱還是發熱,該燙手還是燙手。 國產安卓如此。 ....
三星Galaxy S26Ultra不裝了,性能太炸裂了! - 天天要聞

三星Galaxy S26Ultra不裝了,性能太炸裂了!

三星Galaxy S26 Ultra即將亮相,帶來多方面升級。·該機型將採用6.9英寸QHD+LTPO AMOLED顯示屏,支持120Hz自適應刷新率和3000尼特峰值亮度,確保在各種光照條件下都能提供清晰的視覺體驗。
中集洋山集裝箱第三季度訂單飽滿 開拓氫能集成裝備求新|公司調研 - 天天要聞

中集洋山集裝箱第三季度訂單飽滿 開拓氫能集成裝備求新|公司調研

財聯社7月5日訊(記者 胡皓瓊)中美關稅緩和之下,外貿企業對美出貨恢復,帶動中集洋山集裝箱製造訂單增長。集裝箱製造廠在提升自動化水平的同時,為提高自身抗風險能力,還正布局新賽道。財聯社記者近日走訪中集集團(000039.SZ)旗下中集洋山,眼見一片片鋼板,經歷衝壓、焊接組裝、打砂等一道道工序,逐漸成形。產線上布...
數據寶一體機實機首秀2025生態文明貴陽國際論壇 - 天天要聞

數據寶一體機實機首秀2025生態文明貴陽國際論壇

7月5日至6日,2025年生態文明貴陽國際論壇召開,數據寶攜其AI技術領先成果重磅亮相論壇人工智慧展區,並以「企業私域業務模型一體機」實機首秀,現場演繹數據資產與AI深度賦能綠色發展的創新融合實踐。數據寶「企業私域業務模型一體機」。
登上C909樣機,聽聽中國商飛工程總師怎麼說?《明青講習所》又上新了 - 天天要聞

登上C909樣機,聽聽中國商飛工程總師怎麼說?《明青講習所》又上新了

名師金課《明青講習所》今又上新,這期節目《「科學家精神」的迴響》聚焦於「科學家精神的時代傳承」,定於7月5日(周六)19:30 在上海教育電視台首播。陳明青老師帶領華東師範大學第一附屬中學、上海市魯迅中學、上海南湖職業技術學院的學生們,踏上沉浸式學習之旅,走進錢學森圖書館、中國商飛上海飛機設計研究院、上海科...