資料型別總結,and字元編碼和檔案處理

2021-10-08 03:39:59 字數 2028 閱讀 7286

按儲存空間的占用分(從低到高)

數字

字串

按存值個數區分

標量/原子型別

數字,字串

容器型別

列表,元組,字典,集合

按可變不可變區分可變

列表,字典

不可變數字,字串,元組

按訪問順序區分

直接訪問

數字,字串

順序訪問(序列型別)

字串,列表,元組

key值訪問(對映型別)

字典

解決方法:存入硬碟的編碼格式應該用utf-

8格式2、存的時候沒有亂碼:採用的字元編碼表可以識別輸入的字元

但是取的時候亂碼了:採用的字元編碼表與當初存的時候用的不是同一張表

解決方法:存的時候用什麼編碼,取的時候一定要用同樣的編碼格式

與執行python程式有關的亂碼問題:

1、保證執行python程式的前兩個階段不亂碼

在python檔案的開頭加一行:

#coding:檔案存的時候用的編碼格式

2.python3 中不用注意,在python2中需要注意在字串的前面加上u 表示用utf-

8

絕對路徑前面加上r』…』

d:\python38\doc\python383

c:\a\b\c\new.txt

file_path=r'c:\a\b\c\new.txt'

file_path=r'/a/b/c/d.txt'

相對路徑

在當前檔案往下找。

c\d.txt

d.txt

# 示範:

r"d:\python3\liu\a.txt"

f =open

(r"liu\a.txt"

, mode=

'rt'

,encoding=

'utf-8'

) res=f.read(

)print

(res)

f.close(

) f =

open

(r"liu\a.txt"

, mode=

'rb'

) res=f.read(

)print

(res,

type

(res)

) x=res.decode(

'utf-8'

)print

(x) f.close(

)

x=

'中國'

res=x.encode(

'gbk'

)print

(res)

res1=x.encode(

'utf-8'

)print

(res1) 轉換完成以後型別是 bytes 型別

#unicode格式的數字*****===>其他編碼格式的數字

#bytes 可以理解為一種硬碟的原生格式 (相當於二進位制)

x=

'中國'

res=x.encode(

'gbk'

)print

(res)

res1=x.encode(

'utf-8'

)print

(res1) 轉換完成以後型別是 bytes 型別

#其他編碼格式的數字*****===>unicode格式的數字

#

f=

open

(r"liu\a.txt"

, mode=

'rb'

) 位址+模式,(

+編碼型別)

字元編碼和檔案

儲備知識點 1.計算機系統分為三層 應用程式 作業系統 計算機硬體 2.執行python程式的三個步驟 1.先啟動python直譯器 2.再將python檔案當作普通的文字檔案讀入記憶體 3.解釋執行讀入記憶體的 開始識別語法 字元編碼 1.什麼是字元編碼 字元編碼表 人類的字元 數字 1bytes...

python 字元編碼資料型別轉換

字符集 介紹ascii ascii 碼使用指定的7 位或8 位二進位制數組合來表示128 或256 種可能的字元 ansi ansi是一種字元 為使計算機支援更多語言,通常使用 0x00 0x7f 範圍的1 個位元組來表示 1 個英文本元。超出此範圍的使用0x80 0xffff來編碼,即擴充套件的a...

資料型別總結

資料型別總結 三大要素 1,id 位址 2,type 型別 3,value 值 可變型別 列表,字典,集合 共性 1,增加 2,刪除obj.pop obj.clear 3,修改 列表 字典可以 4,查詢 列表 字典可以 不可變型別 可hash型別 數字 整形,浮點型別 字串,元祖,布林型別 無論可變...