標籤:bit 補充 sci ascii 轉換 計算 python2 odi 特殊
本節主要內容:
1. is和==的區別
2. 編碼的問題
?. is和==的區別
1. id()
通過id()我們可以查看到?個變數表?的值在記憶體中的地址
注 ----<<<在python中,命令?代碼和py?件中的代碼運?的效果可能是不?樣的 >>>
說了這麼多. 這個id()和is有什麼關系呢. 注意. is?較的就是id()計算出來的結果. 由於id是幫我
們查看某資料(對象) 的記憶體位址. 那麼is?較的就是資料(對象)的記憶體位址.
最終我們通過is可以查看兩個變數使?的是否是同?個對象.
== 雙等表?的是判斷是否相等, 注意. 這個雙等?較的是具體的值.?不是記憶體位址
總結:
is ?較的是地址
== ?較的是值
?. 編碼的補充
1. python2中默認使?的是ASCII碼. 所以不?持中?. 如果需要在Python2中更改編碼.
需要在?件的開始編寫:
# -*- encoding:utf-8 -*-
2. python3中: 記憶體中使?的是unicode碼.
編碼回顧:
1. ASCII : 最早的編碼. ??有英??寫字?, ?寫字?, 數字, ?些特殊字元. 沒有中?,
8個01代碼, 8個bit, 1個byte
2. GBK: 中?國標碼, ??包含了ASCII編碼和中?常?編碼. 16個bit, 2個byte
3. UNICODE: 萬國碼, ??包含了全世界所有國家?字的編碼. 32個bit, 4個byte, 包含了
ASCII
4. UTF-8: 可變?度的萬國碼. 是unicode的?種實現. 最?字元占8位
1.英?: 8bit 1byte
2.歐洲?字:16bit 2byte
3.中?:24bit 3byte
綜上, 除了ASCII碼以外, 其他資訊不能直接轉換.
在python3的記憶體中. 在程序運?階段. 使?的是unicode編碼. 因為unicode是萬國碼. 什麼內
容都可以進?顯?. 那麼在資料傳輸和儲存的時候由於unicode?較浪費空間和資源. 需要把
unicode轉存成UTF-8或者GBK進?儲存. 怎麼轉換呢. 在python中可以把?字資訊進?編碼.
編碼之後的內容就可以進?傳輸了. 編碼之後的資料是bytes類型的資料.其實啊. 還是原來的
資料只是經過編碼之後表現形式發?了改變?已.
記住: 英?編碼之後的結果和源字串?致. 中?編碼之後的結果根據編碼的不同. 編碼結果
也不同. 我們能看到. ?個中?的UTF-8編碼是3個位元組. ?個GBK的中?編碼是2個位元組.
python 基礎篇 06 編碼 以及小知識點補充