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', [...]]
沒有留言:
張貼留言