一、 為什麼讀這本書?
之所以選擇讀這本書是因為“例行慣例”——讀每年新出版的Python相關書籍,嘗試從這些書中收集一些好的示例,幫助理解一些不好理解的概念。
當然,其實《Learn Python Programming(4th)》(中譯名:《Python編程入門與實戰》,Packt Publishing 出版社)是 2024年 9 月 24 日出版的,只是 2024 年沒有讀,推到了 2025 年讀。
二、這本書寫了什麼?
本書總共分為17章,按找內容可以劃分為兩部分:第一部分為Python 基礎;第二部分為 Python應用。
第一部分 Python 應用涵蓋:
(1) 概覽(安裝、虛擬環境、模塊、包、運行)。
(2) 數據結構(int, str, tuple, list, set, dict)。
(3) 控制流程(if 語句,match 語句,for 語句,while 語句)。
(4) 函數(定義,參數,匿名函數,內置函數)。
(5) 面向對象編程(OOP,類,繼承)
(6) 文件和輸入輸出
(7) 異常&調試&測試&日誌&性能分析。
(8) 其它(類型提示,加密)
第二部分為 Python 應用涵蓋:
(1) 數據科學(Pandas, Numpy)。
(2) API開發(FastAPI)
(3) CLI應用。
(4) Python應用打包。
(5) 編程挑戰。
總體而言大部分內容都涵蓋了,唯獨第一部分缺乏“併發編程”,實在不應該,因為一個稍微大型一點的應用必然離不開併發編程,可以説是項目必備。
當然,還有一個最“滑稽”的,作者在第 12 章大談類型提示的好處——“1.Improved code readability and documentation;2.Enhanced error detection;3.Better IDE experience and autocompletion;4.Improved collaboration and code reviews;5.Code flexibility and reusability。”。但是,除了第十二章為了演示類型提示的代碼用了類型提示,其它的代碼都沒用類型提示。我只想問一句“兩位這作者,你們這樣違心,哈特(heart)不會痛嗎?”
從 2025 年 8 月 27 日至 2025 年 11 月 5 日,期間斷斷續續花了 47 天閲讀完《Learn Python Programming(4th)》。
三、這本書特點
1.簡單但囉嗦
這算是 Packt Publishing 出版社的一個“feature”,截止目前我讀過的所有 Packt Publishing 出版的書都有這個問題,導致雖然書中內容很淺,但已經600多頁了。
其它都是些小問題,不贅述。本來想説一下優點,可是翻遍整個讀書筆記,發現沒有記錄優點,I'm sorry~
四、這本書適合什麼樣的人?
回到“為什麼閲讀這本書”——讀每年新出版的Python相關書籍,嘗試從這些書中收集一些好的示例,幫助理解一些不好理解的概念。這次發現一個不錯的例子,以前我總是記不住“什麼是強類型語言/弱類型語言?(雖然這兩個概念也沒啥用)”
# Python: 強類型語言
a = 2
b = "2"
print(a + b) # TypeError: unsupported operand type(s) for +: 'int' and 'str'
// PHP: 弱類型語言
<?php
$a = 2;
$b = "2";
echo $a + $b; // 4
?>
本書屬於入門級教材,適合想入門 Python 的人員,如果已經有 Python 基礎了,那麼這本書可以不看。因為沒有涉及多少高級主題,同時書中的例子缺乏工程性,雖然説寫法沒有錯,但一般在實際開發中不這麼用。
假設你確實想通過這本書入門 Python,那麼提供一個閲讀建議:如果你能看懂作者寫的代碼,就可以跳過作者的解釋,很多解釋沒有太大意義,不用擔心錯過重要的內容。
五、推薦指數
按照 5 星的標準,本書推薦指數 2 顆星。
六、參考資料
1. 編程
(1)豆瓣,Fabrizio Romano,Heinrich Kruger:https://book.douban.com/subject/37497224/
(2)源碼,Github: https://github.com/PacktPublishing/Learn-Python-Programming-Fourth-Edition
2. 英語
(1) Etymology Dictionary:https://www.etymonline.com
(2) Cambridge Dictionary:https://dictionary.cambridge.org
歡迎搜索及關注:編程人(a_codists)