內容簡介
別再用 C/Java 邏輯來寫 Python 程式了!
Python 軟體基金會主席 親自指點、引領入門
教您學 Python, 更讓您懂 Python
用真正 Python 思維寫出流利的 Pythonic 程式碼
Python 是目前的當紅程式語言, 更是進入 AI 機器學習必備的基礎知識, 學習 Python 已經蔚為風潮。但是大部分書籍、文件都只是教語法, 洋洋灑灑一大篇語法說明, 學了之後, 真的能懂 Python?知道怎麼寫 Python 嗎?
本書不只是說明語法, 更告訴您 Python 與其他程式語言的不同之處, 以及這些特點背後的原因, 讓您真的懂 Python、用 Python!
本書相關資源網頁如下, 請登錄下載範例程式及 Bonus:
www.flag.com.tw/bk/t/f9749
也歡迎加入本書社群, 和技術者們直接對話!
「從做中學 Learning by doing」粉絲專頁
(www.facebook.com/flaglearningbydoing/)
本書特色
翻譯書都看不懂?新手免害怕, 詳細的解說+流暢的翻譯, 讓你也看得懂、學得會, 領你進門更帶你修練成老手
本書為 Python 軟體基金會主席親自撰寫的最新版 Python 經典, 中文版由施威銘研究室監修, 書中針對原書進行大量補充, 並適當添加註解, 幫助讀者能更加理解內容。
其他書看不到的內容, 只存在於老手間的獨門心法, 就讓這本書一一為您詳細說明。例如:
● Python 全域變數不是真正全域?
● Python 函式的區域變數是由賦值與否來決定的?
● 為何 Python 函式都不檢查參數值, 先用了出錯再處理?
● Python 物件沒有真正的私有屬性, 資訊都不用封裝隱藏了嗎?
● 鴨子型別是什麼?我實在不懂這跟鴨子到底有什麼關係?
● 為什麼 Python 函式可以一次 return 多個傳回值?
● Pythonic 這個詞好像很厲害, 是什麼意思?
● Python 的 list[n:m] 切片為何要有頭無尾?
● 為什麼 Python 要求程式每行結尾不要超過 80 個字?
● Python 的型別與類別是同義詞?
作者簡介
自序/導讀
第13章 檔案讀寫
13.1 開啟檔案與file物件
13.2 關閉檔案
13.3 以寫入模式或其他模式開啟檔案
13.4 讀寫文字檔和二進位檔案
13.5 用pathlib讀取與寫入
13.6 標準輸入/輸出與重新導向
13.7 用struct模組讀取結構化二進位資料
13.8 將物件序列化後保存到檔案
13.9 Shelve 物件
第14章 例外處理
14.1 什麼是例外
●老手帶路:LBYL(事先檢查避免出錯)與EAFP(先做了出錯再處理)
14.2 Python的例外機制
●老手帶路:EAFP錯誤處理風格的優缺點
●老手帶路:用例外處理與Guard Clauses讓程式流程更清楚
14.3 使用with資源管理器
第3篇 進階篇
第15章 類別與物件導向程式設計
15.1 類別Class
15.2 物件變數與__init__特殊method
15.3 物件方法method (物件的函式)
15.4 類別變數class variables
15.5 靜態方法static method與
15.6 類別的繼承inheritance
15.7 類別變數與物件變數的繼承
15.8 Python類別基礎的重點複習
15.9 私有變數與私有方法
●老手帶路:有別於資訊隱藏傳統! Python對於物件內部資料的公開風格
15.10 以 @property 修飾器來實作更靈活的物件變數
15.11 物件的變數視野與命名空間
15.12 物件的記憶體回收機制
15.13 多重繼承
第16章 常規表達式
16.1 什麼是常規表達式
16.2 具有特殊字元的常規表達式
16.3 常規表達式與原始字串
16.4 從字串中提取符合樣式的文字
16.5 用常規表達式搜尋取代字串
第17章 物件的型別與特殊method...