[Book Content]Python進階

python進階

原書內容https://github.com/eastlakeside/interpy-zhpython

經過記錄書本目錄和大概內容作一個記錄,方便之後回顧檢索。git

Chapter Title Brief More
1 *argv和**kwargv 給函數輸入可變參數 *argv爲列表,*kwargv爲字典
2 調試pdb 代碼層面下斷點調試
3 生成器 定義了__iter__或__getitem__的爲可迭代對象,定義了__next__的爲迭代器 yeild的用處
4 Map, Filter and Reduce - map會將一個函數映射到一個列表上的全部函數,map(function_to_apply, list_of_outputs)。python3返回一個迭代器,list返回列表。<br>- filter過濾列表中的元素,而且返回一個由全部符合要求的元素所構成的列表。<br>- reduce能夠對一個列表進行一些計算並返回結果,相似歸併。
5 set數據結構 set不能包含重複元素 - 交集:set1.intersection(set2)<br>- 差集:set1.difference(set2)
6 裝飾器 在執行一個函數期間須要執行其餘操做,可使用裝飾器,更簡單的就是定義裝飾器而後使用@
7 對象變更Mutation 注意默認值,且python默認值只初始一次
8 __slots__魔法 節省小類的資源
9 虛擬環境 virtualenv
10 Collections defaultdict, counter, deque, namedtuple, enum.Enum
11 枚舉 Enumerate
12 對象自省(introspection) dir, type, id, inspect
13 推導式(comprehension) 從一種數據序列構建另外一種新的數據序列的結構體 eg. list, dict, set 集合的推倒式爲{},由於()生成的是迭代器
14 異常 try, except, finally, else 無論觸不觸發異常都執行finally,異常不觸發執行else
15 lambda表達式 lambda 參數: 操做(參數)
16 一行式 簡易WebServer<br>漂亮的打印<br>腳本性能分析<br>csv轉json<br>列表flat<br>一行構造器 python3 -m http.server<br>from pprint import pprint<br>python -m cPorfile my_script.py<br>...
17 for else 當循環完整執行後執行else語句
18 使用C擴展 Ctypes, SWING, Python/C API
19 協程 若是迭代器是數據的生成者,那麼協程就是消費者 line = (yield), 經過外部send給協程,就能夠執行後續的if pattern in line,關閉用close()
20 函數緩存 函數緩存容許咱們將一個函數對於給定參數的返回值緩存起來 @lr_cache(maxsize=32), 清除緩存使用function.cache_clear()
21 上下文管理(with語法) 基於類實現__enter__和__exit__<br>處理異常<br>基於生成器@contextmanager
相關文章
相關標籤/搜索