python2 python3的一些區別
#python2
'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 = 6print(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:bytes型別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。。。。
s = 'alex
's1 = b'
alex
'print(s,type(s)) #
strprint(s1,type(s1)) #
bytes
s = '中國'
(s,type(s))
s1 = b'中國'
print(s1,type(s1)) #
會報錯
如何將str --> bytes
## encode 編碼
s1 = '
alex
's11 = s1.encode('
utf-8')
s11 = '
alex
'.encode('
gbk'
(s11)
s2 = '中國'
s22 = s2.encode('
utf-8')
s22 = s2.encode('
gbk'
)print(s22)
轉換
(1) int與str之間如何轉化,轉換的結果是什麼?有沒有條件?
int ---->> str(2) int與bool之間如何轉化,轉換的結果是什麼?有沒有條件?數字型別變為字串型別,沒有條件,直接用str()
str ----->> int
字串型別變為數字型別,必須得為純數字,int()
int ---->> bool(3) str與bool之間如何轉化,轉換的結果是什麼?有沒有條件?0為false 其餘為true
bool----->> int
false 對應0,true 對應1
str ----->> bool(4) str與list能否轉化?如何轉化?""時為false,其餘都為true
bool ----->> str
true 為字串true
false 為字串false
str ------>> listlist(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...