python學習day6 小知識點 編碼

2022-06-19 21:15:12 字數 3090 閱讀 1879

python2 python3的一些區別

#

python2

print

'abc'#

print不需要加括號

range() xrange() 生成器

raw_input() #輸入

#python3

print('

abc'

)range()

#只有這乙個range

input()

== 比較值是否相等   is 比較,比較的是記憶體位址  id(內容)

li1 = [1,2,3]

li2 =li1

li3 =li2

print(id(li1),id(li2)) #

位址相同

為了節省記憶體,以下情況下會共用乙個記憶體:

1.小資料池 -5--256

2.字串,但是中間不能含有特殊字元,s*20之前是同乙個位址 s*21以後都是兩個位址

i1 = 6i2 = 6

print(id(i1),id(i2)) #

位址相同

i1 = 300i2 = 300

print(id(i1),id(i2)) #

位址不同

list dict tuple set 相同內容的記憶體都不一樣

編碼

ascii

a :  00000010 8位 乙個位元組

unicode

a :  00000000 00000001 00000010 00000100 32位 四個位元組

中:00000000 00000001 00000010 00000110 32位 四個位元組

utf-8

a :   00100000                                      8位 乙個位元組

中 :   00000001 00000010 00000110  24位 三個位元組

gbk

a :  00000110                     8位 乙個位元組

中 :  00000010 00000110  16位 兩個位元組

1,各個編碼之間的二進位制,是不能互相識別的,會產生亂碼。

2,檔案的儲存,傳輸,不能是unicode(太大了),只能是utf-8 utf-16 gbk,gb2312,asciid等

py3:

str 在記憶體中是用unicode編碼。

轉換成bytes型別可以和檔案交流操作

對於英文:

str :表現形式:s = 'alex'

編碼方式: 010101010 unicode

bytes :表現形式:s = b'alex'

編碼方式: 000101010 utf-8 gbk。。。。

對於中文:

str :表現形式:s = '中國'

編碼方式: 010101010 unicode

bytes :表現形式:s = b'x\e91\e91\e01\e21\e31\e32'

編碼方式: 000101010 utf-8 gbk。。。。

bytes型別

s = '

alex

's1 = b'

alex

'print(s,type(s)) #

strprint(s1,type(s1)) #

bytes

s = '中國'

print

(s,type(s))

s1 = b'中國'

print(s1,type(s1)) #

會報錯

如何將str --> bytes
#

# encode 編碼

s1 = '

alex

's11 = s1.encode('

utf-8')

s11 = '

alex

'.encode('

gbk'

)print

(s11)

s2 = '中國'

s22 = s2.encode('

utf-8')

s22 = s2.encode('

gbk'

)print(s22)

轉換

(1) int與str之間如何轉化,轉換的結果是什麼?有沒有條件?

int ---->> str

數字型別變為字串型別,沒有條件,直接用str()

str ----->> int

字串型別變為數字型別,必須得為純數字,int()

(2) int與bool之間如何轉化,轉換的結果是什麼?有沒有條件?

int ---->> bool

0為false 其餘為true

bool----->> int

false 對應0,true 對應1

(3) str與bool之間如何轉化,轉換的結果是什麼?有沒有條件?

str ----->> bool

""時為false,其餘都為true

bool ----->> str

true 為字串true

false 為字串false

(4) str與list能否轉化?如何轉化?

str ------>> list

list(str型別)為迭代的字串列表

list ------>> str

str(list型別)內容不變,型別變為str,可以用strip刪除中括號

Python學習日記day6

字串型別及操作 知識點1 使用 m n k 根據步長對字串切片 m缺失表示至開頭,n缺失表示至結尾。k為步長,擷取的字串位置為m到n 1 知識點2 轉義符號 轉義符號後的字元為原始字元 知識點3 字串操作符 x y 連線兩個字串x和y n x 或 x n 複製n次字串x x in s 如果x是s的子...

Python學習之路 Day6

python 在執行過程中,遵循下面的基本原則 1 普通語句,直接執行 2 碰到函式,將函式體載入記憶體,並不直接執行 3 碰到類,執行類內部的普通語句,但是類的方法只載入,不執行 4 碰到if for等控制語句,按相應控制流程執行 5 碰到 break,continue等,按規定語法執行 6 碰到...

python學習筆記 day6

open方法基本使用 open file,mode r encoding none 幾種開啟模式 r 唯讀模式 w 寫模式,如果檔案在,先清空 危險!x 建立模式,如果檔案在,會報錯 a 類似日誌 b 二進位制模式 t 文字模式 r w 個 件物件被open 法建立後,這個物件可 的有下 這些 cl...