小資料池和編碼

2021-09-19 11:00:40 字數 641 閱讀 5662

1.小資料池.

目的:快取我們的字串,整數,布林值.在使用的時候不需要建立過多的物件

快取: int str bool

int 範圍:-5~256

str:

1.長度小於等於1,直接快取

2.長度大於1.字串中如果只有數字,字母,下劃線.就會快取

3.乘以1. 同上,乘以大於1的數,僅包含數字,字母下劃線.最終長度小於20會快取

4.使用sys模組中的intern快取字串.手動指定快取 from sys import intern intern() 指定快取的內容

**塊關係:如果在同乙個**塊中.預設的整數和字串還有布林值都會進行快取.如果涉及計算.遵從上面的規則,如果跨**塊,按照上面規則執行.

2.is 和 == 的區別

is 比較的是記憶體位址

==比較的是值

3.decode和encode

python3記憶體中使用的是unicode

unicode => utf-8 encode ('utf-8')

utf -8 =>unicode decode('utf-8')

utf-8 和gbk不能直接轉換

bytes是字串的另一種表示形式 

收藏

小資料池和編碼問題

1.小資料池 為了快 避免重複建立 1.塊 每次執行的乙個單元 函式 類 command互動命令 eval 2.is 和 記憶體位址 id 變數名 記憶體的開闢是由直譯器決定的 is比較的是記憶體位址 判斷值是否相等 我們一直在用 在python裡面,缺省會把數字 字串 bool 進行快取,這樣不需...

小資料池,編碼和解碼

1.小資料池 常量池 id 檢視常量的記憶體位址 is 判斷記憶體位址是否一致 判斷值是否相等 記憶體位址相等值一定相等,值相等記憶體位址不一定相等 小資料池只針對 整數 字串 bool,其他資料值沒有駐留機制 優點 能夠提 些字串,整數的處理速度.省略的建立物件的過程.缺點 在 池 中建立或者插入...

is和 的區別,小資料池,編碼

1 is 和 的區別 s alex print id s 2500194320432 lst 1,2,4 print id lst 2500343404424 lst 1,2,4 即使定義兩個一樣結果的列表,作業系統都會在記憶體中開闢2塊記憶體位址 print id lst 250034350464...