Python學習(四)
阿新 • • 發佈:2017-10-29
編碼 num 開始 元組 硬盤 pytho 英文 == color
一、枚舉
enumerate,for i in enumerate(可叠代對象),返回元組,內容是(序列號,可叠代的每一個元素)
for i,j in enumerate(可叠代對象,開始序列號),返回序列號,可叠代的每一個元素
a = ‘abc‘ b = {‘a‘:1,‘b‘:2} for i in enumerate(a): print(i) #輸出: #(0, ‘a‘) #(1, ‘b‘) #(2, ‘c‘) for i,j in enumerate(a,1): print(i,j) #輸出: #1 a #2 b #3 c
二、內存地址:id()
==比較的是值,is 比較的是內存地址
小數據池:int:-5~256
str:1.不能有空格
2.長度不能超過20
3.不能有特殊字符
a = [] b = [] print(a == b,a is b) #True False a = ‘abc‘ b = ‘abc‘ print(a == b,a is b) #True True a = ‘-6‘ b = ‘-6‘ print(a == b,a is b) #True False
三、編碼
在python3中,str的表現形式為字符串,bytes的表現形式為b字符串,str的實際編碼方式是unicode,bytes的編碼方式是utf-8、gbk、gb2312...
在python3中,unicode:1個字符(無論中文、英文、數字),都用4個字節表示
utf-8:用最少的字節表示一個字符,英文占1個字節,歐洲文字占2個字節,亞洲文字占3個字節
gbk:英文占1個字節,中文占2個字節
在python3中,字符串存在內存中是unicode編碼方式,不能直接傳輸或者存儲在硬盤,要轉成bytes類型,unicode轉bytes:a.endode(‘編碼方式‘),bytes轉unicode:a.decode(‘編碼方式‘)
utf-8和gbk、gb2312等編碼方式互不識別,如果要轉化,要先解碼(decode)成unicode方式,再編碼(encode)成對應的方式。
a = ‘abc‘ b = a.encode(‘utf-8‘) print(b,type(b)) #b‘abc‘ <class ‘bytes‘> a = ‘你好‘ b = a.encode(‘utf-8‘) print(b,type(b)) #b‘\xe4\xbd\xa0\xe5\xa5\xbd‘ <class ‘bytes‘> c = b.decode() print(c,type(c)) #你好 <class ‘str‘> d = c.encode(‘gbk‘) print(d,type(d)) #b‘\xc4\xe3\xba\xc3‘ <class ‘bytes‘>
Python學習(四)