淺談Python小數據池

什麼是小數據池

小數據池是python中提升效率的一種方式,固定數據類型的相同值使用同一內存地址。python

  id 用於獲取開闢空間的內存地址函數

  代碼塊 一個文件,一個模塊,一個函數,一個類,終端中的每一行代碼都是一個代碼塊spa

  is 判斷兩個變量的內存地址是否相同內存

  == 判斷等號兩邊的值是否相同字符串

數據在python中是經過字典的方式進行存儲的it

若是是同一代碼塊中的兩個變量在某種狀況下也會產生駐留,先執行代碼塊,若是不符合代碼塊再執行小數據池class

注:若是"is"判斷相同 "=="必定相同效率

若是"=="判斷相同"is"不必定相同變量

小數據池規則 (小數據池僅支持 str , int , bool)

  • 支持數字範圍 -5 ~ 256
  • 字符串在作乘法的時候總長度不能超過20
  • 自定義的字符串長度不限制,可是字符串必須由(字母,數字,下劃線)組成
  • 特殊字符(中文除外)定義一個的時候駐留
  • 字符串*1其實就是賦值(賦值時兩個變量使用同一內存地址)

代碼塊規則

  1. 數字所有駐留終端

  2. 字符串作乘法的時候總長度不能超過20

  3. 自定義的都駐留

  4. 字符串*1其實就是賦值

  5. Python3.7 字符串作乘法的時候總長度不能超過4096

經過 Python的內置模塊 intern 能夠實現主動駐留

相關文章
相關標籤/搜索