python 基礎篇 06 編碼 以及小知識點補充

2022-02-08 19:29:54 字數 1988 閱讀 4466

本節主要內容:

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個位元組.

06 python的基礎 編碼小知識

1 編碼型別ascii a 00000010 8位 乙個位元組 unicode a 00000000 00000001 00000010 00000100 32位 四個位元組 中 00000000 00000001 00000010 00000110 32位 四個位元組 utf 8 a 001000...

Python基礎06 迴圈

迴圈用於重複執行一些程式塊。從上一講的選擇結構,我們已經看到了如何用縮進來表示程式塊的隸屬關係。迴圈也會用到類似的寫法。for迴圈需要預先設定好迴圈的次數 n 然後執行隸屬於for的語句n次。基本構造是 for 元素 in 序列 statement 舉例來說,我們編輯乙個叫fordemo.py的檔案...

Python基礎06 迴圈

迴圈用於重複執行一些程式塊。從上一講的選擇結構,我們已經看到了如何用縮進來表示程式塊的隸屬關係。迴圈也會用到類似的寫法。for迴圈 for迴圈需要預先設定好迴圈的次數 n 然後執行隸屬於for的語句n次。基本構造是 for 元素 in 序列 statement舉例來說,我們編輯乙個叫fordemo....