CH.4 Python 物作型態簡介
第一次看到這段程式碼時,就笑倒在地上,好可愛的語法呀!
dir 函式,可以傳回指定物件可用之所有屬性串列,包括了繼承來的
help 函式,配合 PyDoc 從物件中抽取出說明文件
re 的模組內,可以做 regular expression 的搜尋及比對
sorted 函式,是新的內建函式,可以用來把字典轉成序列並且排序
list / dict 不能直接用 "+",必須要用 append,但 Tuple 可以用 "+" 來合併物件
CH.5 數字
底板除法 // ,小數部份一定會被去掉
python 中以 0 開頭的數字都會預設是 8 進位
CH.6 動態定型簡介
copy 是淺層複製,deepcopy 是深層複製
is 是比較實作參照值的指標,而 == 是比較值
CH.7 字串
S[:] 是取出從頭到尾的項目,等於進行複製一份
S[I:J:K],也就是取出 S 之中,從 I 到 J-1、間隔K的所有項目
S[::-1] ,從右走至左,效果就是逆轉序列
ord(S) 會印出 S 的 ASCII 代碼,S 是單一字元
字串格式:$[(name)][flags][width][.precesion] code
辭典式字串格式 ex: "%(key1)d %(key2)s" % {"key1":1, "key2":"spam"}
CH.8 串列和辭典
索引和切片都是直接修改主體,而不是產生新串列,這一點和字串不同
L[1:2] = [] 其實是刪除運算
辭典並非序列,它是沒有順序的,所以不能用 index 來用 for 敘述予以繞行,但可以用反覆器來拿到所有的成員
CH.9 Tuple、檔案、以及其他一切
開啟 file 之後,有 readline 及 readlines 兩個 API,一個是回傳字串,一個是回傳字串陣列
eval() 這個內建函式可以把字串視為可執行程式碼
pickle 可以讓我們直接在檔案中儲存任何 Python 物件
另一種工作 struct 模組知道如何將物件打包成二進位資料
== 運算子測試值的相等性。但 is 是測試物件本體,測試兩者是否是相同物件,或是 A 是 B 的其中一種
循環式資料結構會印出 [...] 來代表
第一次看到這段程式碼時,就笑倒在地上,好可愛的語法呀!
>>> x = 'spam' >>> x * 8 'spamspamspamspamspamspamspamspam'
CH.5 數字
>>> 1/2 0 >>> 1//2 0 >>> 1.0/2 0.5 >>> 1.0 // 2 0.0
CH.6 動態定型簡介
CH.7 字串
CH.8 串列和辭典
CH.9 Tuple、檔案、以及其他一切
F = open('datafile.txt', 'w') import pickle pickle.dump(D, F) F.close() F = open('datafile.txt') E = pickle.load(F)
>>> F = open('data.bin', 'wb') >>> import struct >>> bytes = struct.pack('>i4sh', 7, 'spam', 8) >>> bytes '\x00\x00\x00\x07spam\x00\x08' >>> F.write(bytes) >>> F.close() >>> >>> F = open('data.bin', 'rb') >>> data = F.read() >>> data '\x00\x00\x00\x07spam\x00\x08' >>> values = struct.unpack('>i4sh', data) >>> values
>>> L1 = [1, ('a', 3)] >>> L2 = [1, ('a', 3)] >>> L1 == L2, L1 is L2 (True, False)
>>> L = ['grail'] >>> L.append(L) >>> L ['grail', [...]]
沒有留言:
張貼留言