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...